]> sourceware.org Git - lvm2.git/commitdiff
raid: split preserves local exlusive activation
authorZdenek Kabelac <zkabelac@redhat.com>
Wed, 14 Dec 2016 09:19:25 +0000 (10:19 +0100)
committerZdenek Kabelac <zkabelac@redhat.com>
Wed, 14 Dec 2016 10:40:01 +0000 (11:40 +0100)
WHATS_NEW
lib/metadata/raid_manip.c

index 60e8fa5e77a371b93821c6af3b98aa1ba9346a75..4ac33773bc2f17d2d687f2fee9456f7c80573e25 100644 (file)
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,6 @@
 Version 2.02.169 - 
 =====================================
+  Always active splitted RAID LV exclusively locally.
   Do not use LV RAID status bit for segment status.
   Check segtype directly instead of checking RAID in segment status. 
   Reusing exiting code for raid image removal.
index ed4823991fd41e982d681e12c93c276985f36977..b48b9594a7fbf82a814c7b51b6ea31dde91d5665 100644 (file)
@@ -163,22 +163,6 @@ uint32_t lv_raid_image_count(const struct logical_volume *lv)
        return seg->area_count;
 }
 
-static int _activate_sublv_preserving_excl(struct logical_volume *top_lv,
-                                          struct logical_volume *sub_lv)
-{
-       struct cmd_context *cmd = top_lv->vg->cmd;
-
-       /* If top RAID was EX, use EX */
-       if (lv_is_active_exclusive_locally(top_lv)) {
-               if (!activate_lv_excl_local(cmd, sub_lv))
-                       return_0;
-       } else {
-               if (!activate_lv(cmd, sub_lv))
-                       return_0;
-       }
-       return 1;
-}
-
 /* HM Helper: prohibit allocation on @pv if @lv already has segments allocated on it */
 static int _avoid_pv_of_lv(struct logical_volume *lv, struct physical_volume *pv)
 {
@@ -1553,7 +1537,8 @@ int lv_raid_split_and_track(struct logical_volume *lv,
                                display_lvname(lv));
 
        /* Activate the split (and tracking) LV */
-       if (!_activate_sublv_preserving_excl(lv, seg_lv(seg, s)))
+       /* Preserving exclusive local activation also for tracked LV */
+       if (!activate_lv_excl_local(lv->vg->cmd, seg_lv(seg, s)))
                return_0;
 
        log_print_unless_silent("Use 'lvconvert --merge %s' to merge back into %s.",
This page took 0.052963 seconds and 5 git commands to generate.