]> sourceware.org Git - lvm2.git/commitdiff
lvrename: move the lvmlockd LV lock
authorDavid Teigland <teigland@redhat.com>
Wed, 9 Dec 2015 17:51:25 +0000 (11:51 -0600)
committerDavid Teigland <teigland@redhat.com>
Wed, 9 Dec 2015 17:59:49 +0000 (11:59 -0600)
The function it was in is used for various
internal renaming of hidden LVs where a lock
from lvmlockd does not apply.

lib/metadata/lv_manip.c
tools/lvrename.c

index 2582ed5563991cef255f99687b4040169d58cc2e..2f37f5b195acad1f8bc0320a6345247a315d5b95 100644 (file)
@@ -4247,18 +4247,6 @@ int lv_rename_update(struct cmd_context *cmd, struct logical_volume *lv,
                return 0;
        }
 
-       /*
-        * The lvmlockd LV lock is only acquired here to ensure the LV is not
-        * active on another host.  This requests a transient LV lock.
-        * If the LV is active, a persistent LV lock already exists in
-        * lvmlockd, and the transient lock request does nothing.
-        * If the LV is not active, then no LV lock exists and the transient
-        * lock request acquires the LV lock (or fails).  The transient lock
-        * is automatically released when the command exits.
-        */
-       if (!lockd_lv(cmd, lv, "ex", 0))
-               return_0;
-
        if (update_mda && !archive(vg))
                return_0;
 
index 18b02d2650a8666dd2156dbd3b3ecb18baf981e2..217ebdc4047e1ba3cb978ee8ec3496694c6393f4 100644 (file)
@@ -46,6 +46,18 @@ static int _lvrename_single(struct cmd_context *cmd, const char *vg_name,
                goto bad;
        }
 
+       /*
+        * The lvmlockd LV lock is only acquired here to ensure the LV is not
+        * active on another host.  This requests a transient LV lock.
+        * If the LV is active, a persistent LV lock already exists in
+        * lvmlockd, and the transient lock request does nothing.
+        * If the LV is not active, then no LV lock exists and the transient
+        * lock request acquires the LV lock (or fails).  The transient lock
+        * is automatically released when the command exits.
+        */
+       if (!lockd_lv(cmd, lvl->lv, "ex", 0))
+               goto_bad;
+
        if (!lv_rename(cmd, lvl->lv, lp->lv_name_new))
                goto_bad;
 
This page took 0.042005 seconds and 5 git commands to generate.