]> sourceware.org Git - lvm2.git/commitdiff
Add cmd arg to more functions
authorDavid Teigland <teigland@redhat.com>
Fri, 15 Jun 2018 16:03:55 +0000 (11:03 -0500)
committerDavid Teigland <teigland@redhat.com>
Fri, 15 Jun 2018 16:03:55 +0000 (11:03 -0500)
so that it can be used in the filter code

25 files changed:
lib/cache/lvmetad.c
lib/device/dev-cache.c
lib/device/dev-cache.h
lib/filters/filter-composite.c
lib/filters/filter-fwraid.c
lib/filters/filter-internal.c
lib/filters/filter-md.c
lib/filters/filter-mpath.c
lib/filters/filter-partitioned.c
lib/filters/filter-persistent.c
lib/filters/filter-regex.c
lib/filters/filter-signature.c
lib/filters/filter-sysfs.c
lib/filters/filter-type.c
lib/filters/filter-usable.c
lib/label/label.c
lib/locking/lvmlockd.c
lib/metadata/lv_manip.c
lib/metadata/metadata.c
lib/metadata/mirror.c
tools/lvmdiskscan.c
tools/pvck.c
tools/pvscan.c
tools/reporter.c
tools/toollib.c

index 238a7f1f0a8352fa040670228ffa26e4698a4444..a75b44858846b899085f11489771bc19a169eeaf 100644 (file)
@@ -863,9 +863,9 @@ static int _pv_populate_lvmcache(struct cmd_context *cmd,
                return 0;
        }
 
-       dev = dev_cache_get_by_devt(devt, cmd->filter);
+       dev = dev_cache_get_by_devt(cmd, devt, cmd->filter);
        if (!dev && fallback)
-               dev = dev_cache_get_by_devt(fallback, cmd->filter);
+               dev = dev_cache_get_by_devt(cmd, fallback, cmd->filter);
 
        if (!dev) {
                log_warn("WARNING: Device for PV %s not found or rejected by a filter.", pvid_txt);
@@ -2404,7 +2404,7 @@ int lvmetad_pvscan_all_devs(struct cmd_context *cmd, int do_wait)
        was_silent = silent_mode();
        init_silent(1);
 
-       while ((dev = dev_iter_get(iter))) {
+       while ((dev = dev_iter_get(cmd, iter))) {
                if (sigint_caught()) {
                        ret = 0;
                        stack;
@@ -2549,7 +2549,7 @@ static void _update_pv_in_udev(struct cmd_context *cmd, dev_t devt)
 #if 0
        struct device *dev;
 
-       if (!(dev = dev_cache_get_by_devt(devt, cmd->lvmetad_filter))) {
+       if (!(dev = dev_cache_get_by_devt(cmd, devt, cmd->lvmetad_filter))) {
                log_error("_update_pv_in_udev no dev found");
                return;
        }
index d60454af51ccf8b3fd311f2c190d91c224cff083..1635c99a1109ba902347a8a9cc9fc4175f56de14 100644 (file)
@@ -1504,7 +1504,7 @@ const char *dev_cache_filtered_reason(const char *name)
        return reason;
 }
 
-struct device *dev_cache_get(const char *name, struct dev_filter *f)
+struct device *dev_cache_get(struct cmd_context *cmd, const char *name, struct dev_filter *f)
 {
        struct stat buf;
        struct device *d = (struct device *) dm_hash_lookup(_cache.names, name);
@@ -1544,7 +1544,7 @@ struct device *dev_cache_get(const char *name, struct dev_filter *f)
                return d;
 
        if (f && !(d->flags & DEV_REGULAR)) {
-               ret = f->passes_filter(f, d);
+               ret = f->passes_filter(cmd, f, d);
 
                if (ret == -EAGAIN) {
                        log_debug_devs("get device by name defer filter %s", dev_name(d));
@@ -1576,7 +1576,7 @@ static struct device *_dev_cache_seek_devt(dev_t dev)
  * TODO This is very inefficient. We probably want a hash table indexed by
  * major:minor for keys to speed up these lookups.
  */
-struct device *dev_cache_get_by_devt(dev_t dev, struct dev_filter *f)
+struct device *dev_cache_get_by_devt(struct cmd_context *cmd, dev_t dev, struct dev_filter *f)
 {
        char path[PATH_MAX];
        const char *sysfs_dir;
@@ -1617,7 +1617,7 @@ struct device *dev_cache_get_by_devt(dev_t dev, struct dev_filter *f)
        if (!f)
                return d;
 
-       ret = f->passes_filter(f, d);
+       ret = f->passes_filter(cmd, f, d);
 
        if (ret == -EAGAIN) {
                log_debug_devs("get device by number defer filter %s", dev_name(d));
@@ -1662,7 +1662,7 @@ static struct device *_iter_next(struct dev_iter *iter)
        return d;
 }
 
-struct device *dev_iter_get(struct dev_iter *iter)
+struct device *dev_iter_get(struct cmd_context *cmd, struct dev_iter *iter)
 {
        struct dev_filter *f;
        int ret;
@@ -1674,7 +1674,7 @@ struct device *dev_iter_get(struct dev_iter *iter)
                f = iter->filter;
 
                if (f && !(d->flags & DEV_REGULAR)) {
-                       ret = f->passes_filter(f, d);
+                       ret = f->passes_filter(cmd, f, d);
 
                        if (ret == -EAGAIN) {
                                log_debug_devs("get device by iter defer filter %s", dev_name(d));
index c56ff5011302072d977c283d3b4f665421b60b7d..6386ba92f2b4d4e9fbdac239e5bba57b7bdfb6ca 100644 (file)
 #include "lib/device/device.h"
 #include "lib/misc/lvm-wrappers.h"
 
+struct cmd_context;
+
 /*
  * predicate for devices.
  */
 struct dev_filter {
-       int (*passes_filter) (struct dev_filter * f, struct device * dev);
-       void (*destroy) (struct dev_filter * f);
-       void (*wipe) (struct dev_filter * f);
-       int (*dump) (struct dev_filter * f, int merge_existing);
+       int (*passes_filter) (struct cmd_context *cmd, struct dev_filter *f, struct device *dev);
+       void (*destroy) (struct dev_filter *f);
+       void (*wipe) (struct dev_filter *f);
        void *private;
        unsigned use_count;
 };
@@ -38,9 +39,9 @@ struct dm_list *dev_cache_get_dev_list_for_lvid(const char *lvid);
 /*
  * The global device cache.
  */
-struct cmd_context;
 int dev_cache_init(struct cmd_context *cmd);
 int dev_cache_exit(void);
+
 /*
  * Returns number of open devices.
  */
@@ -52,11 +53,11 @@ int dev_cache_has_scanned(void);
 int dev_cache_add_dir(const char *path);
 int dev_cache_add_loopfile(const char *path);
 __attribute__((nonnull(1)))
-struct device *dev_cache_get(const char *name, struct dev_filter *f);
+struct device *dev_cache_get(struct cmd_context *cmd, const char *name, struct dev_filter *f);
 const char *dev_cache_filtered_reason(const char *name);
 
 // TODO
-struct device *dev_cache_get_by_devt(dev_t device, struct dev_filter *f);
+struct device *dev_cache_get_by_devt(struct cmd_context *cmd, dev_t device, struct dev_filter *f);
 
 void dev_set_preferred_name(struct dm_str_list *sl, struct device *dev);
 
@@ -66,7 +67,7 @@ void dev_set_preferred_name(struct dm_str_list *sl, struct device *dev);
 struct dev_iter;
 struct dev_iter *dev_iter_create(struct dev_filter *f, int unused);
 void dev_iter_destroy(struct dev_iter *iter);
-struct device *dev_iter_get(struct dev_iter *iter);
+struct device *dev_iter_get(struct cmd_context *cmd, struct dev_iter *iter);
 
 void dev_reset_error_count(struct cmd_context *cmd);
 
index ba837afc6d9690c72eb6419001aadbabb9cbc502..a9374abaa819f19e5fb9fb319d85cdd601d69704 100644 (file)
 #include "lib/filters/filter.h"
 #include "lib/device/device.h"
 
-static int _and_p(struct dev_filter *f, struct device *dev)
+static int _and_p(struct cmd_context *cmd, struct dev_filter *f, struct device *dev)
 {
        struct dev_filter **filters;
        int ret;
 
        for (filters = (struct dev_filter **) f->private; *filters; ++filters) {
-               ret = (*filters)->passes_filter(*filters, dev);
+               ret = (*filters)->passes_filter(cmd, *filters, dev);
 
                if (!ret)
                        return 0;       /* No 'stack': a filter, not an error. */
@@ -33,12 +33,12 @@ static int _and_p(struct dev_filter *f, struct device *dev)
        return 1;
 }
 
-static int _and_p_with_dev_ext_info(struct dev_filter *f, struct device *dev)
+static int _and_p_with_dev_ext_info(struct cmd_context *cmd, struct dev_filter *f, struct device *dev)
 {
        int r;
 
        dev_ext_enable(dev, external_device_info_source());
-       r = _and_p(f, dev);
+       r = _and_p(cmd, f, dev);
        dev_ext_disable(dev);
 
        return r;
index 03c63b31d68e2c64c4bb8e1726659fb2887a19f3..6f476921b988433464841d64ef64a07f02b8debe 100644 (file)
@@ -64,7 +64,7 @@ static int _dev_is_fwraid(struct device *dev)
 
 #define MSG_SKIPPING "%s: Skipping firmware RAID component device"
 
-static int _ignore_fwraid(struct dev_filter *f __attribute__((unused)),
+static int _ignore_fwraid(struct cmd_context *cmd, struct dev_filter *f __attribute__((unused)),
                           struct device *dev)
 {
        int ret;
index 85e04d49af469cee8ab001c416f6de53eec2177b..8cc0011b19197cf1110b306713d89c7ecfedb450 100644 (file)
@@ -37,7 +37,7 @@ void internal_filter_clear(void)
        dm_list_init(&_allow_devs);
 }
 
-static int _passes_internal(struct dev_filter *f __attribute__((unused)),
+static int _passes_internal(struct cmd_context *cmd, struct dev_filter *f __attribute__((unused)),
                            struct device *dev)
 {
        struct device_list *devl;
index 4fcbca939565c023ac0d18f0f44c46496d61db4a..95e0aad232817bd60dbe4fec5265d2f602a7967a 100644 (file)
  * that lvm uses to be occasionally wrong.)
  */
 
+/*
+ * FIXME: for commands that want a full md check (pvcreate, vgcreate,
+ * vgextend), we do an extra read at the end of every device that the
+ * filter looks at.  This isn't necessary; we only need to do the full
+ * md check on the PVs that these commands are trying to use.
+ */
+
 /*
  * Returns 0 if:
  * the device is an md component and it should be ignored.
@@ -81,7 +88,7 @@
  * that will not pass.
  */
 
-static int _passes_md_filter(struct device *dev, int full)
+static int _passes_md_filter(struct cmd_context *cmd, struct dev_filter *f __attribute__((unused)), struct device *dev)
 {
        int ret;
 
@@ -92,7 +99,7 @@ static int _passes_md_filter(struct device *dev, int full)
        if (!md_filtering())
                return 1;
 
-       ret = dev_is_md(dev, NULL, full);
+       ret = dev_is_md(dev, NULL, cmd->use_full_md_check);
 
        if (ret == -EAGAIN) {
                /* let pass, call again after scan */
@@ -122,18 +129,6 @@ static int _passes_md_filter(struct device *dev, int full)
        return 1;
 }
 
-static int _passes_md_filter_lite(struct dev_filter *f __attribute__((unused)),
-                                 struct device *dev)
-{
-       return _passes_md_filter(dev, 0);
-}
-
-static int _passes_md_filter_full(struct dev_filter *f __attribute__((unused)),
-                                 struct device *dev)
-{
-       return _passes_md_filter(dev, 1);
-}
-
 static void _destroy(struct dev_filter *f)
 {
        if (f->use_count)
@@ -151,18 +146,7 @@ struct dev_filter *md_filter_create(struct cmd_context *cmd, struct dev_types *d
                return NULL;
        }
 
-       /*
-        * FIXME: for commands that want a full md check (pvcreate, vgcreate,
-        * vgextend), we do an extra read at the end of every device that the
-        * filter looks at.  This isn't necessary; we only need to do the full
-        * md check on the PVs that these commands are trying to use.
-        */
-
-       if (cmd->use_full_md_check)
-               f->passes_filter = _passes_md_filter_full;
-       else
-               f->passes_filter = _passes_md_filter_lite;
-
+       f->passes_filter = _passes_md_filter;
        f->destroy = _destroy;
        f->use_count = 0;
        f->private = dt;
index 785b518755e06e8ee9abdf0bbfcb4ee99546a654..bcd1e52eec6a81c439042b14075bd6155e97831e 100644 (file)
@@ -247,7 +247,7 @@ static int _dev_is_mpath(struct dev_filter *f, struct device *dev)
 
 #define MSG_SKIPPING "%s: Skipping mpath component device"
 
-static int _ignore_mpath(struct dev_filter *f, struct device *dev)
+static int _ignore_mpath(struct cmd_context *cmd, struct dev_filter *f, struct device *dev)
 {
        if (_dev_is_mpath(f, dev) == 1) {
                if (dev->ext.src == DEV_EXT_NONE)
index 34151fd12c453dd58b066c53cfb7ba884ba0cc27..6418cdf062de9de48423c77dff73b5d46b364c03 100644 (file)
@@ -19,7 +19,7 @@
 
 #define MSG_SKIPPING "%s: Skipping: Partition table signature found"
 
-static int _passes_partitioned_filter(struct dev_filter *f, struct device *dev)
+static int _passes_partitioned_filter(struct cmd_context *cmd, struct dev_filter *f, struct device *dev)
 {
        struct dev_types *dt = (struct dev_types *) f->private;
        int ret;
index 9ee395793b909a78cf54fdec6a110f925229ed90..1782bfa500edbc78359a7c84709f2d3438f780fa 100644 (file)
@@ -68,7 +68,7 @@ static void _persistent_filter_wipe(struct dev_filter *f)
        dm_hash_wipe(pf->devices);
 }
 
-static int _lookup_p(struct dev_filter *f, struct device *dev)
+static int _lookup_p(struct cmd_context *cmd, struct dev_filter *f, struct device *dev)
 {
        struct pfilter *pf = (struct pfilter *) f->private;
        void *l;
@@ -99,7 +99,7 @@ static int _lookup_p(struct dev_filter *f, struct device *dev)
        if (!l) {
                dev->flags &= ~DEV_FILTER_AFTER_SCAN;
 
-               pass = pf->real->passes_filter(pf->real, dev);
+               pass = pf->real->passes_filter(cmd, pf->real, dev);
 
                if (!pass) {
                        /*
index c642ec49aa5bdbc45822160908cbb53f527bab7e..1a8e8a2efd5b0c3e537d9183d83db5dd6d174907 100644 (file)
@@ -145,7 +145,7 @@ static int _build_matcher(struct rfilter *rf, const struct dm_config_value *val)
        return r;
 }
 
-static int _accept_p(struct dev_filter *f, struct device *dev)
+static int _accept_p(struct cmd_context *cmd, struct dev_filter *f, struct device *dev)
 {
        int m, first = 1, rejected = 0;
        struct rfilter *rf = (struct rfilter *) f->private;
index d4b6ea346800db22e45266d6034c6adff11adb18..5c5796f9c1c82559d27754715328c2f405728267 100644 (file)
@@ -21,7 +21,7 @@
 
 #define BUFSIZE 4096
 
-static int _ignore_signature(struct dev_filter *f __attribute__((unused)),
+static int _ignore_signature(struct cmd_context *cmd, struct dev_filter *f __attribute__((unused)),
                      struct device *dev)
 {
        char buf[BUFSIZE];
index 5b54312bfce3287527ba4539c865da8c7fec6132..c77c4a6b00c5f1b956c62d1fe074805589650be1 100644 (file)
@@ -260,7 +260,7 @@ static int _init_devs(struct dev_set *ds)
 }
 
 
-static int _accept_p(struct dev_filter *f, struct device *dev)
+static int _accept_p(struct cmd_context *cmd, struct dev_filter *f, struct device *dev)
 {
        struct dev_set *ds = (struct dev_set *) f->private;
 
index 63d7c7047f02cd65601954f087a36a3a83deb06d..3b0a644dfea4a62f4afb15a98f9ee7eaf6b67730 100644 (file)
@@ -17,7 +17,7 @@
 #include "lib/misc/lib.h"
 #include "lib/filters/filter.h"
 
-static int _passes_lvm_type_device_filter(struct dev_filter *f, struct device *dev)
+static int _passes_lvm_type_device_filter(struct cmd_context *cmd, struct dev_filter *f, struct device *dev)
 {
        struct dev_types *dt = (struct dev_types *) f->private;
        const char *name = dev_name(dev);
index 498b90c2a471c3ea9c75131ac0c8050f1674667b..ab5c02f12c4147a1ecd7ce45a864d3f7c8a02667 100644 (file)
@@ -100,7 +100,7 @@ static int _check_pv_min_size(struct device *dev)
        return 0;
 }
 
-static int _passes_usable_filter(struct dev_filter *f, struct device *dev)
+static int _passes_usable_filter(struct cmd_context *cmd, struct dev_filter *f, struct device *dev)
 {
        filter_mode_t mode = *((filter_mode_t *) f->private);
        struct dev_usable_check_params ucp = {0};
index 373df29c105de44696cf5a5eceac114c1f13034a..de5aa882df1917ef567eacbe76e798b4dcb5d9ab 100644 (file)
@@ -366,7 +366,7 @@ static int _process_block(struct cmd_context *cmd, struct dev_filter *f,
 
                log_debug_devs("Scan filtering %s", dev_name(dev));
                
-               pass = f->passes_filter(f, dev);
+               pass = f->passes_filter(cmd, f, dev);
 
                if ((pass == -EAGAIN) || (dev->flags & DEV_FILTER_AFTER_SCAN)) {
                        /* Shouldn't happen */
@@ -833,7 +833,7 @@ int label_scan(struct cmd_context *cmd)
                return 0;
        }
 
-       while ((dev = dev_iter_get(iter))) {
+       while ((dev = dev_iter_get(cmd, iter))) {
                if (!(devl = zalloc(sizeof(*devl))))
                        continue;
                devl->dev = dev;
@@ -946,7 +946,7 @@ void label_scan_invalidate_lv(struct cmd_context *cmd, struct logical_volume *lv
 
        lv_info(cmd, lv, 0, &lvinfo, 0, 0);
        devt = MKDEV(lvinfo.major, lvinfo.minor);
-       if ((dev = dev_cache_get_by_devt(devt, NULL)))
+       if ((dev = dev_cache_get_by_devt(cmd, devt, NULL)))
                label_scan_invalidate(dev);
 }
 
@@ -963,7 +963,7 @@ void label_scan_drop(struct cmd_context *cmd)
        if (!(iter = dev_iter_create(NULL, 0)))
                return;
 
-       while ((dev = dev_iter_get(iter))) {
+       while ((dev = dev_iter_get(cmd, iter))) {
                if (_in_bcache(dev))
                        _scan_dev_close(dev);
        }
index 21a9696ecace5accad7e39363728f795facd05d8..a277246483e9a64a76412657ad897956ccf6e909 100644 (file)
@@ -398,7 +398,7 @@ static int _extend_sanlock_lv(struct cmd_context *cmd, struct volume_group *vg,
 
        log_print("Zeroing %u MiB on extended internal lvmlock LV...", extend_mb);
 
-       if (!(dev = dev_cache_get(path, NULL))) {
+       if (!(dev = dev_cache_get(cmd, path, NULL))) {
                log_error("Extend sanlock LV %s cannot find device.", display_lvname(lv));
                return 0;
        }
index b2eba30f76749fcdf2eb7ae94a141e4211b3116e..27cd2c15dd5d41c27dca732debb3cf3c9677e031 100644 (file)
@@ -7145,7 +7145,7 @@ int wipe_lv(struct logical_volume *lv, struct wipe_params wp)
                return 0;
        }
 
-       if (!(dev = dev_cache_get(name, NULL))) {
+       if (!(dev = dev_cache_get(lv->vg->cmd, name, NULL))) {
                log_error("%s: not found: device not cleared", name);
                return 0;
        }
index 113c87caa4a2fa85f254d24cb198a1e8a1985cfb..34b1ec7e78e22435ccbb9d74ee8beb77d1b60f1f 100644 (file)
@@ -1510,7 +1510,7 @@ struct pv_list *find_pv_in_vg(const struct volume_group *vg,
                               const char *pv_name)
 {
        struct pv_list *pvl;
-       struct device *dev = dev_cache_get(pv_name, vg->cmd->filter);
+       struct device *dev = dev_cache_get(vg->cmd, pv_name, vg->cmd->filter);
 
        /*
         * If the device does not exist or is filtered out, don't bother trying
index 8de1440187645a7f9cbcdf7d1522f73eb62787ee..11f2a8f46de0dce867dcbe91b2a83ff0cd7899ce 100644 (file)
@@ -292,7 +292,7 @@ static int _write_log_header(struct cmd_context *cmd, struct logical_volume *lv)
 
        log_verbose("Writing log header for LV %s to device %s.", display_lvname(lv), name);
 
-       if (!(dev = dev_cache_get(name, NULL))) {
+       if (!(dev = dev_cache_get(cmd, name, NULL))) {
                log_error("%s: not found: log header not written.", name);
                return 0;
        }
index 772694cc2868a1e578cddabe17bbe88cc8b2cd71..0b97eba44440b0105a6d7a3135ce0f6c6dcd226e 100644 (file)
@@ -27,7 +27,7 @@ int pv_disks_found;
 int pv_parts_found;
 int max_len;
 
-static int _get_max_dev_name_len(struct dev_filter *filter)
+static int _get_max_dev_name_len(struct cmd_context *cmd, struct dev_filter *filter)
 {
        int len = 0;
        int maxlen = 0;
@@ -40,7 +40,7 @@ static int _get_max_dev_name_len(struct dev_filter *filter)
        }
 
        /* Do scan */
-       for (dev = dev_iter_get(iter); dev; dev = dev_iter_get(iter)) {
+       for (dev = dev_iter_get(cmd, iter); dev; dev = dev_iter_get(cmd, iter)) {
                len = strlen(dev_name(dev));
                if (len > maxlen)
                        maxlen = len;
@@ -100,14 +100,14 @@ int lvmdiskscan(struct cmd_context *cmd, int argc __attribute__((unused)),
        /* Call before using dev_iter which uses filters which want bcache data. */
        label_scan(cmd);
 
-       max_len = _get_max_dev_name_len(cmd->full_filter);
+       max_len = _get_max_dev_name_len(cmd, cmd->full_filter);
 
        if (!(iter = dev_iter_create(cmd->full_filter, 0))) {
                log_error("dev_iter_create failed");
                return ECMD_FAILED;
        }
 
-       for (dev = dev_iter_get(iter); dev; dev = dev_iter_get(iter)) {
+       for (dev = dev_iter_get(cmd, iter); dev; dev = dev_iter_get(cmd, iter)) {
                if (lvmcache_has_dev_info(dev)) {
                        if (!dev_get_size(dev, &size)) {
                                log_error("Couldn't get size of \"%s\"",
index 027df6d728eab12cf3ab0bb23d5f812e1bb75c01..ce74036bc7fb258351b1272dfce7a8afcbc6fc0c 100644 (file)
@@ -35,7 +35,7 @@ int pvck(struct cmd_context *cmd, int argc, char **argv)
 
                pv_name = argv[i];
 
-               dev = dev_cache_get(pv_name, cmd->filter);
+               dev = dev_cache_get(cmd, pv_name, cmd->filter);
 
                if (!dev) {
                        log_error("Device %s %s.", pv_name, dev_cache_filtered_reason(pv_name));
index 61530ee4ad086226f36e96dc235504e585eff24a..17fc1a6a7dc3c0fe21133b5b347efa13d8a9c502 100644 (file)
@@ -438,10 +438,10 @@ static int _pvscan_cache(struct cmd_context *cmd, int argc, char **argv)
        while (argc--) {
                pv_name = *argv++;
                if (pv_name[0] == '/') {
-                       if (!(dev = dev_cache_get(pv_name, cmd->lvmetad_filter))) {
+                       if (!(dev = dev_cache_get(cmd, pv_name, cmd->lvmetad_filter))) {
                                /* Remove device path from lvmetad. */
                                log_debug("Removing dev %s from lvmetad cache.", pv_name);
-                               if ((dev = dev_cache_get(pv_name, NULL))) {
+                               if ((dev = dev_cache_get(cmd, pv_name, NULL))) {
                                        if (!_lvmetad_clear_dev(dev->dev, MAJOR(dev->dev), MINOR(dev->dev)))
                                                remove_errors++;
                                } else {
@@ -468,7 +468,7 @@ static int _pvscan_cache(struct cmd_context *cmd, int argc, char **argv)
                        }
                        devno = MKDEV((dev_t)major, (dev_t)minor);
 
-                       if (!(dev = dev_cache_get_by_devt(devno, cmd->lvmetad_filter))) {
+                       if (!(dev = dev_cache_get_by_devt(cmd, devno, cmd->lvmetad_filter))) {
                                /* Remove major:minor from lvmetad. */
                                log_debug("Removing dev %d:%d from lvmetad cache.", major, minor);
                                if (!_lvmetad_clear_dev(devno, major, minor))
@@ -531,7 +531,7 @@ static int _pvscan_cache(struct cmd_context *cmd, int argc, char **argv)
 
                devno = MKDEV((dev_t)major, (dev_t)minor);
 
-               if (!(dev = dev_cache_get_by_devt(devno, cmd->lvmetad_filter))) {
+               if (!(dev = dev_cache_get_by_devt(cmd, devno, cmd->lvmetad_filter))) {
                        /* Remove major:minor from lvmetad. */
                        log_debug("Removing dev %d:%d from lvmetad cache.", major, minor);
                        if (!_lvmetad_clear_dev(devno, major, minor))
index a7f1f9bb0ffe089aa663eac0f8a876b424911986..faaff374143c0c52c8b033b1c1742c5c2198c838 100644 (file)
@@ -719,7 +719,7 @@ static void _check_pv_list(struct cmd_context *cmd, struct report_args *args, st
 
        if (single_args->args_are_pvs && args->argc) {
                for (i = 0; i < args->argc; i++) {
-                       if (!rescan_done && !dev_cache_get(args->argv[i], cmd->full_filter)) {
+                       if (!rescan_done && !dev_cache_get(cmd, args->argv[i], cmd->full_filter)) {
                                cmd->filter->wipe(cmd->filter);
                                /* FIXME scan only one device */
                                lvmcache_label_scan(cmd);
index f64bd586560a66176c2b11641e501d9825deed59..c81d1c24c243242f8b1f795ec4d43e68b88d5dfb 100644 (file)
@@ -1470,7 +1470,7 @@ int process_each_label(struct cmd_context *cmd, int argc, char **argv,
 
        if (argc) {
                for (; opt < argc; opt++) {
-                       if (!(dev = dev_cache_get(argv[opt], cmd->full_filter))) {
+                       if (!(dev = dev_cache_get(cmd, argv[opt], cmd->full_filter))) {
                                log_error("Failed to find device "
                                          "\"%s\".", argv[opt]);
                                ret_max = ECMD_FAILED;
@@ -1547,7 +1547,7 @@ int process_each_label(struct cmd_context *cmd, int argc, char **argv,
                goto out;
        }
 
-       while ((dev = dev_iter_get(iter)))
+       while ((dev = dev_iter_get(cmd, iter)))
        {
                if (!(label = lvmcache_get_dev_label(dev)))
                        continue;
@@ -3870,7 +3870,7 @@ static int _get_arg_devices(struct cmd_context *cmd,
                        return ECMD_FAILED;
                }
 
-               if (!(dil->dev = dev_cache_get(sl->str, cmd->filter))) {
+               if (!(dil->dev = dev_cache_get(cmd, sl->str, cmd->filter))) {
                        log_error("Failed to find device for physical volume \"%s\".", sl->str);
                        ret_max = ECMD_FAILED;
                } else {
@@ -3898,7 +3898,7 @@ static int _get_all_devices(struct cmd_context *cmd, struct dm_list *all_devices
                return ECMD_FAILED;
        }
 
-       while ((dev = dev_iter_get(iter))) {
+       while ((dev = dev_iter_get(cmd, iter))) {
                if (!(dil = dm_pool_alloc(cmd->mem, sizeof(*dil)))) {
                        log_error("device_id_list alloc failed.");
                        goto out;
@@ -5398,7 +5398,7 @@ int pvcreate_each_device(struct cmd_context *cmd,
         * Translate arg names into struct device's.
         */
        dm_list_iterate_items(pd, &pp->arg_devices)
-               pd->dev = dev_cache_get(pd->name, cmd->full_filter);
+               pd->dev = dev_cache_get(cmd, pd->name, cmd->full_filter);
 
        /*
         * Use process_each_pv to search all existing PVs and devices.
This page took 0.071196 seconds and 5 git commands to generate.