diff options
author | David Teigland <teigland@redhat.com> | 2019-08-01 13:58:14 -0500 |
---|---|---|
committer | David Teigland <teigland@redhat.com> | 2019-08-16 13:26:12 -0500 |
commit | ee4a32e99224a0d4d2156c55d195e217967490b1 (patch) | |
tree | b51567c46b941093aa89ea5db394f7bbd00d7d37 | |
parent | 96dfad50224e7e8d3168bd0db93452e819d052b5 (diff) | |
download | lvm2-ee4a32e99224a0d4d2156c55d195e217967490b1.tar.gz |
lvmcache: use devl list helper
-rw-r--r-- | lib/cache/lvmcache.c | 41 |
1 files changed, 25 insertions, 16 deletions
diff --git a/lib/cache/lvmcache.c b/lib/cache/lvmcache.c index da83b84b2..f2503b250 100644 --- a/lib/cache/lvmcache.c +++ b/lib/cache/lvmcache.c @@ -116,6 +116,28 @@ void lvmcache_unlock_vgname(const char *vgname) } } +static struct device_list *_get_devl_in_device_list(struct device *dev, struct dm_list *head) +{ + struct device_list *devl; + + dm_list_iterate_items(devl, head) { + if (devl->dev == dev) + return devl; + } + return NULL; +} + +int dev_in_device_list(struct device *dev, struct dm_list *head) +{ + struct device_list *devl; + + dm_list_iterate_items(devl, head) { + if (devl->dev == dev) + return 1; + } + return 0; +} + bool lvmcache_has_duplicate_devs(void) { if (dm_list_empty(&_unused_duplicates) && dm_list_empty(&_initial_duplicates)) @@ -147,11 +169,9 @@ void lvmcache_del_dev_from_duplicates(struct device *dev) { struct device_list *devl; - dm_list_iterate_items(devl, &_unused_duplicates) { - if (devl->dev == dev) { - dm_list_del(&devl->list); - return; - } + if ((devl = _get_devl_in_device_list(dev, &_unused_duplicates))) { + log_debug_cache("delete dev from unused duplicates %s", dev_name(dev)); + dm_list_del(&devl->list); } } @@ -381,17 +401,6 @@ int vg_has_duplicate_pvs(struct volume_group *vg) return 0; } -int dev_in_device_list(struct device *dev, struct dm_list *head) -{ - struct device_list *devl; - - dm_list_iterate_items(devl, head) { - if (devl->dev == dev) - return 1; - } - return 0; -} - bool lvmcache_dev_is_unused_duplicate(struct device *dev) { return dev_in_device_list(dev, &_unused_duplicates) ? true : false; |