]> sourceware.org Git - lvm2.git/commitdiff
Remove useless mdas parameter for pv_read (from now on, we store mdas in a
authorPeter Rajnoha <prajnoha@redhat.com>
Mon, 21 Feb 2011 12:15:59 +0000 (12:15 +0000)
committerPeter Rajnoha <prajnoha@redhat.com>
Mon, 21 Feb 2011 12:15:59 +0000 (12:15 +0000)
format instance)

lib/format1/format1.c
lib/format_pool/format_pool.c
lib/format_text/format-text.c
lib/metadata/metadata-exported.h
lib/metadata/metadata.c
lib/metadata/metadata.h
tools/pvremove.c
tools/pvresize.c
tools/toollib.c

index 46f696a9586a3a4805e3fded03553a6bdb57331d..6ffe252a3b5dbc75b4c339bc6e17c104ab7e16d4 100644 (file)
@@ -331,8 +331,7 @@ static int _format1_vg_write(struct format_instance *fid, struct volume_group *v
 }
 
 static int _format1_pv_read(const struct format_type *fmt, const char *pv_name,
-                   struct physical_volume *pv, struct dm_list *mdas __attribute__((unused)),
-                   int scan_label_only __attribute__((unused)))
+                   struct physical_volume *pv, int scan_label_only __attribute__((unused)))
 {
        struct dm_pool *mem = dm_pool_create("lvm1 pv_read", 1024);
        struct disk_list *dl;
index d49cb1bf4b6301edc497b9a42d81422f3591efc4..85bd0cc0295dbd39559dfcb2e04e2c8fa034720d 100644 (file)
@@ -206,7 +206,6 @@ static int _pool_pv_setup(const struct format_type *fmt __attribute__((unused)),
 
 static int _pool_pv_read(const struct format_type *fmt, const char *pv_name,
                         struct physical_volume *pv,
-                        struct dm_list *mdas __attribute__((unused)),
                         int scan_label_only __attribute__((unused)))
 {
        struct dm_pool *mem = dm_pool_create("pool pv_read", 1024);
index a3d7dbc83ee06da163d6b497a96e79161a60b851..0204a651cc4f7fe8ce55644b241522591a6780a7 100644 (file)
@@ -1668,10 +1668,8 @@ static uint64_t _metadata_locn_offset_raw(void *metadata_locn)
 }
 
 static int _text_pv_read(const struct format_type *fmt, const char *pv_name,
-                   struct physical_volume *pv, struct dm_list *mdas,
-                   int scan_label_only)
+                   struct physical_volume *pv, int scan_label_only)
 {
-       struct metadata_area *mda, *mda_new;
        struct label *label;
        struct device *dev;
        struct lvmcache_info *info;
@@ -1686,17 +1684,6 @@ static int _text_pv_read(const struct format_type *fmt, const char *pv_name,
        if (!_populate_pv_fields(info, pv, scan_label_only))
                return 0;
 
-       if (!mdas)
-               return 1;
-
-       /* Add copy of mdas to supplied list */
-       dm_list_iterate_items(mda, &info->mdas) {
-               mda_new = mda_copy(fmt->cmd->mem, mda);
-               if (!mda_new)
-                       return 0;
-               dm_list_add(mdas, &mda_new->list);
-       }
-
        return 1;
 }
 
index 1bd5748dc3dc99b69af91cc66203bb1e3f6d40b7..a39a4d42aea0d3ddb71cfd412622ed529807469c 100644 (file)
@@ -368,8 +368,8 @@ int vg_revert(struct volume_group *vg);
 struct volume_group *vg_read_internal(struct cmd_context *cmd, const char *vg_name,
                             const char *vgid, int warnings, int *consistent);
 struct physical_volume *pv_read(struct cmd_context *cmd, const char *pv_name,
-                               struct dm_list *mdas, uint64_t *label_sector,
-                               int warnings, int scan_label_only);
+                               uint64_t *label_sector, int warnings,
+                               int scan_label_only);
 struct dm_list *get_pvs(struct cmd_context *cmd);
 
 /*
index 904dc374bbab638eee4fe9c9d0bdd0c9242777e9..9d5d296797f3d1b07ad164676ad14446895203aa 100644 (file)
@@ -38,7 +38,6 @@ static struct physical_volume *_pv_read(struct cmd_context *cmd,
                                        struct dm_pool *pvmem,
                                        const char *pv_name,
                                        struct format_instance *fid,
-                                       struct dm_list *mdas,
                                        uint64_t *label_sector,
                                        int warnings, int scan_label_only);
 
@@ -1338,14 +1337,11 @@ static int pvcreate_check(struct cmd_context *cmd, const char *name,
 {
        struct physical_volume *pv;
        struct device *dev;
-       struct dm_list mdas;
-
-       dm_list_init(&mdas);
 
        /* FIXME Check partition type is LVM unless --force is given */
 
        /* Is there a pv here already? */
-       pv = pv_read(cmd, name, &mdas, NULL, 0, 0);
+       pv = pv_read(cmd, name, NULL, 0, 0);
 
        /*
         * If a PV has no MDAs it may appear to be an orphan until the
@@ -1353,10 +1349,10 @@ static int pvcreate_check(struct cmd_context *cmd, const char *name,
         * this means checking every VG by scanning every PV on the
         * system.
         */
-       if (pv && is_orphan(pv) && mdas_empty_or_ignored(&mdas)) {
+       if (pv && is_orphan(pv) && !dm_list_size(&pv->fid->metadata_areas_in_use)) {
                if (!scan_vgs_for_pvs(cmd, 0))
                        return_0;
-               pv = pv_read(cmd, name, NULL, NULL, 0, 0);
+               pv = pv_read(cmd, name, NULL, 0, 0);
        }
 
        /* Allow partial & exported VGs to be destroyed. */
@@ -1821,20 +1817,18 @@ struct physical_volume *find_pv_by_name(struct cmd_context *cmd,
 static struct physical_volume *_find_pv_by_name(struct cmd_context *cmd,
                                                const char *pv_name)
 {
-       struct dm_list mdas;
        struct physical_volume *pv;
 
-       dm_list_init(&mdas);
-       if (!(pv = _pv_read(cmd, cmd->mem, pv_name, NULL, &mdas, NULL, 1, 0))) {
+       if (!(pv = _pv_read(cmd, cmd->mem, pv_name, NULL, NULL, 1, 0))) {
                log_error("Physical volume %s not found", pv_name);
                return NULL;
        }
 
-       if (is_orphan_vg(pv->vg_name) && mdas_empty_or_ignored(&mdas)) {
+       if (is_orphan_vg(pv->vg_name) && !dm_list_size(&pv->fid->metadata_areas_in_use)) {
                /* If a PV has no MDAs - need to search all VGs for it */
                if (!scan_vgs_for_pvs(cmd, 1))
                        return_NULL;
-               if (!(pv = _pv_read(cmd, cmd->mem, pv_name, NULL, NULL, NULL, 1, 0))) {
+               if (!(pv = _pv_read(cmd, cmd->mem, pv_name, NULL, NULL, 1, 0))) {
                        log_error("Physical volume %s not found", pv_name);
                        return NULL;
                }
@@ -2659,8 +2653,8 @@ static struct volume_group *_vg_read_orphans(struct cmd_context *cmd,
        }
 
        dm_list_iterate_items(info, &vginfo->infos) {
-               if (!(pv = _pv_read(cmd, mem, dev_name(info->dev), vg->fid,
-                                   NULL, NULL, warnings, 0))) {
+               if (!(pv = _pv_read(cmd, mem, dev_name(info->dev),
+                                   vg->fid, NULL, warnings, 0))) {
                        continue;
                }
                if (!(pvl = dm_pool_zalloc(mem, sizeof(*pvl)))) {
@@ -3377,10 +3371,10 @@ const char *find_vgname_from_pvname(struct cmd_context *cmd,
  *   FIXME - liblvm todo - make into function that returns handle
  */
 struct physical_volume *pv_read(struct cmd_context *cmd, const char *pv_name,
-                               struct dm_list *mdas, uint64_t *label_sector,
-                               int warnings, int scan_label_only)
+                               uint64_t *label_sector, int warnings,
+                               int scan_label_only)
 {
-       return _pv_read(cmd, cmd->mem, pv_name, NULL, mdas, label_sector, warnings, scan_label_only);
+       return _pv_read(cmd, cmd->mem, pv_name, NULL, label_sector, warnings, scan_label_only);
 }
 
 /* FIXME Use label functions instead of PV functions */
@@ -3388,7 +3382,6 @@ static struct physical_volume *_pv_read(struct cmd_context *cmd,
                                        struct dm_pool *pvmem,
                                        const char *pv_name,
                                        struct format_instance *fid,
-                                       struct dm_list *mdas,
                                        uint64_t *label_sector,
                                        int warnings, int scan_label_only)
 {
@@ -3419,8 +3412,7 @@ static struct physical_volume *_pv_read(struct cmd_context *cmd,
        }
 
        /* FIXME Move more common code up here */
-       if (!(info->fmt->ops->pv_read(info->fmt, pv_name, pv, mdas,
-             scan_label_only))) {
+       if (!(info->fmt->ops->pv_read(info->fmt, pv_name, pv, scan_label_only))) {
                log_error("Failed to read existing physical volume '%s'",
                          pv_name);
                goto bad;
@@ -4258,8 +4250,5 @@ char *tags_format_and_copy(struct dm_pool *mem, const struct dm_list *tags)
  */
 struct physical_volume *pv_by_path(struct cmd_context *cmd, const char *pv_name)
 {
-       struct dm_list mdas;
-
-       dm_list_init(&mdas);
-       return _pv_read(cmd, cmd->mem, pv_name, NULL, &mdas, NULL, 1, 0);
+       return _pv_read(cmd, cmd->mem, pv_name, NULL, NULL, 1, 0);
 }
index 6981d8e30faea59dad1c9128257cb1c3cd228466..00c07aa26fd9eb970183349d4542a0696afe50ac 100644 (file)
@@ -252,8 +252,7 @@ struct format_handler {
         * Return PV with given path.
         */
        int (*pv_read) (const struct format_type * fmt, const char *pv_name,
-                       struct physical_volume * pv, struct dm_list *mdas,
-                       int scan_label_only);
+                       struct physical_volume * pv, int scan_label_only);
 
        /*
         * Tweak an already filled out a pv ready for importing into a
index a8717e05cd2ea145c6cf8f305f985249565c9ce1..ace3c1d00638d8e614bf1ecde1f457906770c407 100644 (file)
@@ -25,15 +25,12 @@ const char _really_wipe[] =
 static int pvremove_check(struct cmd_context *cmd, const char *name)
 {
        struct physical_volume *pv;
-       struct dm_list mdas;
-
-       dm_list_init(&mdas);
 
        /* FIXME Check partition type is LVM unless --force is given */
 
        /* Is there a pv here already? */
        /* If not, this is an error unless you used -f. */
-       if (!(pv = pv_read(cmd, name, &mdas, NULL, 1, 0))) {
+       if (!(pv = pv_read(cmd, name, NULL, 1, 0))) {
                if (arg_count(cmd, force_ARG))
                        return 1;
                log_error("Physical Volume %s not found", name);
@@ -47,13 +44,14 @@ static int pvremove_check(struct cmd_context *cmd, const char *name)
         * means checking every VG by scanning every
         * PV on the system.
         */
-       if (is_orphan(pv) && !dm_list_size(&mdas)) {
+       if (is_orphan(pv) && !dm_list_size(&pv->fid->metadata_areas_in_use) &&
+           !dm_list_size(&pv->fid->metadata_areas_ignored)) {
                if (!scan_vgs_for_pvs(cmd, 0)) {
                        log_error("Rescan for PVs without metadata areas "
                                  "failed.");
                        return 0;
                }
-               if (!(pv = pv_read(cmd, name, NULL, NULL, 1, 0))) {
+               if (!(pv = pv_read(cmd, name, NULL, 1, 0))) {
                        log_error("Failed to read physical volume %s", name);
                        return 0;
                }
index a471f368e390653d913f36ac67a9aaf437db2b8d..f347d9d377c6eaaf0c314b861f29b0e96f807bc8 100644 (file)
@@ -32,28 +32,26 @@ static int _pv_resize_single(struct cmd_context *cmd,
        uint64_t size = 0;
        uint32_t new_pe_count = 0;
        int r = 0;
-       struct dm_list mdas;
        const char *pv_name = pv_dev_name(pv);
        const char *vg_name = pv_vg_name(pv);
        struct lvmcache_info *info;
        int mda_count = 0;
        struct volume_group *old_vg = vg;
 
-       dm_list_init(&mdas);
-
        if (is_orphan_vg(vg_name)) {
                if (!lock_vol(cmd, vg_name, LCK_VG_WRITE)) {
                        log_error("Can't get lock for orphans");
                        return 0;
                }
 
-               if (!(pv = pv_read(cmd, pv_name, &mdas, NULL, 1, 0))) {
+               if (!(pv = pv_read(cmd, pv_name, NULL, 1, 0))) {
                        unlock_vg(cmd, vg_name);
                        log_error("Unable to read PV \"%s\"", pv_name);
                        return 0;
                }
 
-               mda_count = dm_list_size(&mdas);
+               mda_count = dm_list_size(&pv->fid->metadata_areas_in_use) +
+                           dm_list_size(&pv->fid->metadata_areas_ignored);
        } else {
                vg = vg_read_for_update(cmd, vg_name, NULL, 0);
 
index 2a52a5171ad5a50e39c25277d5b3dcbef5499978..cdd8bb7529e1dd4b271955084d38442bf293c790 100644 (file)
@@ -649,7 +649,7 @@ static int _process_all_devs(struct cmd_context *cmd, void *handle,
        }
 
        while ((dev = dev_iter_get(iter))) {
-               if (!(pv = pv_read(cmd, dev_name(dev), NULL, NULL, 0, 0))) {
+               if (!(pv = pv_read(cmd, dev_name(dev), NULL, 0, 0))) {
                        memset(&pv_dummy, 0, sizeof(pv_dummy));
                        dm_list_init(&pv_dummy.tags);
                        dm_list_init(&pv_dummy.segments);
@@ -691,7 +691,6 @@ int process_each_pv(struct cmd_context *cmd, int argc, char **argv,
        struct str_list *sll;
        char *at_sign, *tagname;
        int scanned = 0;
-       struct dm_list mdas;
 
        dm_list_init(&tags);
 
@@ -733,10 +732,8 @@ int process_each_pv(struct cmd_context *cmd, int argc, char **argv,
                                }
                                pv = pvl->pv;
                        } else {
-
-                               dm_list_init(&mdas);
-                               if (!(pv = pv_read(cmd, argv[opt], &mdas,
-                                                  NULL, 1, scan_label_only))) {
+                               if (!(pv = pv_read(cmd, argv[opt], NULL,
+                                                  1, scan_label_only))) {
                                        log_error("Failed to read physical "
                                                  "volume \"%s\"", argv[opt]);
                                        ret_max = ECMD_FAILED;
@@ -751,7 +748,8 @@ int process_each_pv(struct cmd_context *cmd, int argc, char **argv,
                                 * PV on the system.
                                 */
                                if (!scanned && is_orphan(pv) &&
-                                   !dm_list_size(&mdas)) {
+                                   !dm_list_size(&pv->fid->metadata_areas_in_use) &&
+                                   !dm_list_size(&pv->fid->metadata_areas_ignored)) {
                                        if (!scan_label_only &&
                                            !scan_vgs_for_pvs(cmd, 1)) {
                                                stack;
@@ -760,7 +758,7 @@ int process_each_pv(struct cmd_context *cmd, int argc, char **argv,
                                        }
                                        scanned = 1;
                                        if (!(pv = pv_read(cmd, argv[opt],
-                                                          NULL, NULL, 1,
+                                                          NULL, 1,
                                                           scan_label_only))) {
                                                log_error("Failed to read "
                                                          "physical volume "
This page took 0.050809 seconds and 5 git commands to generate.