]> sourceware.org Git - lvm2.git/commitdiff
Fix last check-ins: seg can be NULL.
authorAlasdair Kergon <agk@redhat.com>
Sat, 28 Feb 2009 20:04:24 +0000 (20:04 +0000)
committerAlasdair Kergon <agk@redhat.com>
Sat, 28 Feb 2009 20:04:24 +0000 (20:04 +0000)
lib/activate/dev_manager.c
lib/error/errseg.c
lib/metadata/mirror.c
lib/metadata/segtype.h
lib/mirror/mirrored.c
lib/snapshot/snapshot.c
lib/striped/striped.c
lib/zero/zero.c
tools/lvconvert.c
tools/lvcreate.c
tools/pvmove.c

index cd580e66c97bb218baa80cc2ad596ef41aac75e1..1083fcdf225cc40c4b7c5ab6fa1945e838fb659d 100644 (file)
@@ -908,7 +908,8 @@ static int _add_segment_to_dtree(struct dev_manager *dm,
                  layer ? "-" : "", layer ? : "");
 
        if (seg_present->segtype->ops->target_present &&
-           !seg_present->segtype->ops->target_present(seg_present, NULL)) {
+           !seg_present->segtype->ops->target_present(seg_present->lv->vg->cmd,
+                                                      seg_present, NULL)) {
                log_error("Can't expand LV %s: %s target support missing "
                          "from kernel?", seg->lv->name, seg_present->segtype->name);
                return 0;
index 59df36a731898c7c2da6245f2f1881256dad4af2..fa90a8ed8b4b216f3fafc7d5615da7a5775e4bdb 100644 (file)
@@ -51,7 +51,8 @@ static int _errseg_add_target_line(struct dev_manager *dm __attribute((unused)),
        return dm_tree_node_add_error_target(node, len);
 }
 
-static int _errseg_target_present(const struct lv_segment *seg,
+static int _errseg_target_present(struct cmd_context *cmd,
+                                 const struct lv_segment *seg __attribute((unused)),
                                  unsigned *attributes __attribute((unused)))
 {
        static int _errseg_checked = 0;
@@ -59,8 +60,8 @@ static int _errseg_target_present(const struct lv_segment *seg,
 
        /* Reported truncated in older kernels */
        if (!_errseg_checked &&
-           (target_present(seg->lv->vg->cmd, "error", 0) ||
-            target_present(seg->lv->vg->cmd, "erro", 0)))
+           (target_present(cmd, "error", 0) ||
+            target_present(cmd, "erro", 0)))
                _errseg_present = 1;
 
        _errseg_checked = 1;
index 1f326cf03b7e6274bd7e72d2dd75fe00cc9c5f61..c7f16df540baa211aed03ab18dfe4d10a114c404 100644 (file)
@@ -1380,7 +1380,7 @@ int add_mirror_log(struct cmd_context *cmd, struct logical_volume *lv,
                return_0;
 
        if (activation() && segtype->ops->target_present &&
-           !segtype->ops->target_present(NULL, NULL)) {
+           !segtype->ops->target_present(cmd, NULL, NULL)) {
                log_error("%s: Required device-mapper target(s) not "
                          "detected in your kernel", segtype->name);
                return 0;
index ad274a3e7fa1c851c2aa84dd8efed01296a109bd..80f2215f858f6873c09a27672adada1e675bdfbd 100644 (file)
@@ -78,7 +78,8 @@ struct segtype_handler {
                               struct lv_segment *seg, char *params,
                               uint64_t *total_numerator,
                               uint64_t *total_denominator);
-       int (*target_present) (const struct lv_segment *seg,
+       int (*target_present) (struct cmd_context *cmd,
+                              const struct lv_segment *seg,
                               unsigned *attributes);
        int (*modules_needed) (struct dm_pool *mem,
                               const struct lv_segment *seg,
index 08eb9ba61ae61b9faae997226e50fea36de2447e..b243ebb34e9a0e0ede499c9b6241c1bb29df645c 100644 (file)
@@ -343,7 +343,8 @@ static int _mirrored_add_target_line(struct dev_manager *dm, struct dm_pool *mem
        return add_areas_line(dm, seg, node, start_area, area_count);
 }
 
-static int _mirrored_target_present(const struct lv_segment *seg,
+static int _mirrored_target_present(struct cmd_context *cmd,
+                                   const struct lv_segment *seg,
                                    unsigned *attributes)
 {
        static int _mirrored_checked = 0;
@@ -353,7 +354,7 @@ static int _mirrored_target_present(const struct lv_segment *seg,
        char vsn[80];
 
        if (!_mirrored_checked) {
-               _mirrored_present = target_present(seg->lv->vg->cmd, "mirror", 1);
+               _mirrored_present = target_present(cmd, "mirror", 1);
 
                /*
                 * block_on_error available with mirror target >= 1.1 and <= 1.11
@@ -375,8 +376,7 @@ static int _mirrored_target_present(const struct lv_segment *seg,
         * FIXME: Fails incorrectly if cmirror was built into kernel.
         */
        if (attributes) {
-               if (!_mirror_attributes && module_present(seg->lv->vg->cmd,
-                   "log-clustered"))
+               if (!_mirror_attributes && module_present(cmd, "log-clustered"))
                        _mirror_attributes |= MIRROR_LOG_CLUSTERED;
                *attributes = _mirror_attributes;
        }
index 29ea234f9416b84e184cf268a381695d2bb36ef1..b614e064788eac6f7fd35d22125ad244adffe8ea 100644 (file)
@@ -108,15 +108,16 @@ static int _snap_target_percent(void **target_state __attribute((unused)),
        return 1;
 }
 
-static int _snap_target_present(const struct lv_segment *seg,
+static int _snap_target_present(struct cmd_context *cmd,
+                               const struct lv_segment *seg __attribute((unused)),
                                unsigned *attributes __attribute((unused)))
 {
        static int _snap_checked = 0;
        static int _snap_present = 0;
 
        if (!_snap_checked)
-               _snap_present = target_present(seg->lv->vg->cmd, "snapshot", 1) &&
-                   target_present(seg->lv->vg->cmd, "snapshot-origin", 0);
+               _snap_present = target_present(cmd, "snapshot", 1) &&
+                   target_present(cmd, "snapshot-origin", 0);
 
        _snap_checked = 1;
 
index 0604ab176c993fd9933524b24a947e6af8c76583..78129aff16cbfd47b8d23827357e4d0fb23a0ebd 100644 (file)
@@ -175,15 +175,16 @@ static int _striped_add_target_line(struct dev_manager *dm,
        return add_areas_line(dm, seg, node, 0u, seg->area_count);
 }
 
-static int _striped_target_present(const struct lv_segment *seg,
+static int _striped_target_present(struct cmd_context *cmd,
+                                  const struct lv_segment *seg __attribute((unused)),
                                   unsigned *attributes __attribute((unused)))
 {
        static int _striped_checked = 0;
        static int _striped_present = 0;
 
        if (!_striped_checked)
-               _striped_present = target_present(seg->lv->vg->cmd, "linear", 0) &&
-                         target_present(seg->lv->vg->cmd, "striped", 0);
+               _striped_present = target_present(cmd, "linear", 0) &&
+                         target_present(cmd, "striped", 0);
 
        _striped_checked = 1;
 
index 7c6a22666a26ab18f51eee7ae4adb63e42ad3767..acf645310777042080f36f5bd6d5ee8773bfa4a7 100644 (file)
@@ -50,14 +50,15 @@ static int _zero_add_target_line(struct dev_manager *dm __attribute((unused)),
        return dm_tree_node_add_zero_target(node, len);
 }
 
-static int _zero_target_present(const struct lv_segment *seg,
+static int _zero_target_present(struct cmd_context *cmd,
+                               const struct lv_segment *seg __attribute((unused)),
                                unsigned *attributes __attribute((unused)))
 {
        static int _zero_checked = 0;
        static int _zero_present = 0;
 
        if (!_zero_checked)
-               _zero_present = target_present(seg->lv->vg->cmd, "zero", 0);
+               _zero_present = target_present(cmd, "zero", 0);
 
        _zero_checked = 1;
 
index d1260f5182dd6ac38125aa27aa339411ae11bd82..cc9c5cafab5c8deff67b5939ed34e39f182fdfb2 100644 (file)
@@ -219,7 +219,7 @@ static int _read_params(struct lvconvert_params *lp, struct cmd_context *cmd,
        }
 
        if (activation() && lp->segtype->ops->target_present &&
-           !lp->segtype->ops->target_present(NULL, NULL)) {
+           !lp->segtype->ops->target_present(cmd, NULL, NULL)) {
                log_error("%s: Required device-mapper target(s) not "
                          "detected in your kernel", lp->segtype->name);
                return 0;
index f17f8760b28751e84cc4e270d001f025ffb921db..1f14eb1de80a45db7ea43aa14f01a25f8cd32af2 100644 (file)
@@ -420,7 +420,7 @@ static int _lvcreate_params(struct lvcreate_params *lp, struct cmd_context *cmd,
        }
 
        if (activation() && lp->segtype->ops->target_present &&
-           !lp->segtype->ops->target_present(NULL, NULL)) {
+           !lp->segtype->ops->target_present(cmd, NULL, NULL)) {
                log_error("%s: Required device-mapper target(s) not "
                          "detected in your kernel", lp->segtype->name);
                return 0;
index 58e1305c1f6879d426cd4010c70895717f38308e..6fb439d73fa32afd487aa5f13244ff2d99c548b3 100644 (file)
@@ -33,7 +33,7 @@ static int _pvmove_target_present(struct cmd_context *cmd, int clustered)
                return_0;
 
        if (activation() && segtype->ops->target_present &&
-           !segtype->ops->target_present(NULL, clustered ? &attr : NULL))
+           !segtype->ops->target_present(cmd, NULL, clustered ? &attr : NULL))
                found = 0;
 
        if (activation() && clustered) {
This page took 0.048977 seconds and 5 git commands to generate.