diff options
| author | tkusumi <tkusumi@NetBSD.org> | 2019-12-07 06:26:31 +0000 |
|---|---|---|
| committer | tkusumi <tkusumi@NetBSD.org> | 2019-12-07 06:26:31 +0000 |
| commit | 717f3b97986b7f052707938883f4bb1da0133add (patch) | |
| tree | afc1a7cf9296a8a3b45d60e9ce179e6fbd74c2d1 /sys/dev/dm/dm_target.c | |
| parent | af0b6d79f13199d776c819de85663264bba0a12f (diff) | |
dm: Simplify list eviction code
taken-from: DragonFlyBSD
Diffstat (limited to 'sys/dev/dm/dm_target.c')
| -rw-r--r-- | sys/dev/dm/dm_target.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/sys/dev/dm/dm_target.c b/sys/dev/dm/dm_target.c index 722b068b0e8..7b46adc2e9f 100644 --- a/sys/dev/dm/dm_target.c +++ b/sys/dev/dm/dm_target.c @@ -1,4 +1,4 @@ -/* $NetBSD: dm_target.c,v 1.23 2019/12/06 16:11:59 tkusumi Exp $ */ +/* $NetBSD: dm_target.c,v 1.24 2019/12/07 06:26:31 tkusumi Exp $ */ /* * Copyright (c) 2008 The NetBSD Foundation, Inc. @@ -29,7 +29,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: dm_target.c,v 1.23 2019/12/06 16:11:59 tkusumi Exp $"); +__KERNEL_RCSID(0, "$NetBSD: dm_target.c,v 1.24 2019/12/07 06:26:31 tkusumi Exp $"); #include <sys/types.h> #include <sys/param.h> @@ -220,14 +220,13 @@ dm_target_destroy(void) dm_target_t *dm_target; mutex_enter(&dm_target_mutex); - while (TAILQ_FIRST(&dm_target_list) != NULL) { - dm_target = TAILQ_FIRST(&dm_target_list); - - TAILQ_REMOVE(&dm_target_list, TAILQ_FIRST(&dm_target_list), - dm_target_next); + while ((dm_target = TAILQ_FIRST(&dm_target_list)) != NULL) { + TAILQ_REMOVE(&dm_target_list, dm_target, dm_target_next); (void)kmem_free(dm_target, sizeof(dm_target_t)); } + KASSERT(TAILQ_EMPTY(&dm_target_list)); + mutex_exit(&dm_target_mutex); mutex_destroy(&dm_target_mutex); |
