diff options
author | Alasdair Kergon <agk@redhat.com> | 2011-09-27 22:43:40 +0000 |
---|---|---|
committer | Alasdair Kergon <agk@redhat.com> | 2011-09-27 22:43:40 +0000 |
commit | 10d0d9c7c468abf1144586bf50a118eb94d0c7b6 (patch) | |
tree | d6e5b73b47a074f69e011a95fc0c32af71ee85d5 /daemons/clvmd | |
parent | 74e72bd75d42ee3a24c5c094d10d9041a046fc66 (diff) | |
download | lvm2-10d0d9c7c468abf1144586bf50a118eb94d0c7b6.tar.gz lvm2-10d0d9c7c468abf1144586bf50a118eb94d0c7b6.tar.xz lvm2-10d0d9c7c468abf1144586bf50a118eb94d0c7b6.zip |
Introduce revert_lv for better pvmove cleanup.
(One further fix needed to remove the stray pvmove LVs left behind.)
Diffstat (limited to 'daemons/clvmd')
-rw-r--r-- | daemons/clvmd/lvm-functions.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/daemons/clvmd/lvm-functions.c b/daemons/clvmd/lvm-functions.c index f16d006c..aa306709 100644 --- a/daemons/clvmd/lvm-functions.c +++ b/daemons/clvmd/lvm-functions.c @@ -406,7 +406,7 @@ error: /* Resume the LV if it was active */ static int do_resume_lv(char *resource, unsigned char lock_flags) { - int oldmode, origin_only, exclusive; + int oldmode, origin_only, exclusive, revert; /* Is it open ? */ oldmode = get_current_lock(resource); @@ -416,8 +416,9 @@ static int do_resume_lv(char *resource, unsigned char lock_flags) } origin_only = (lock_flags & LCK_ORIGIN_ONLY_MODE) ? 1 : 0; exclusive = (oldmode == LCK_EXCL) ? 1 : 0; + revert = (lock_flags & LCK_REVERT_MODE) ? 1 : 0; - if (!lv_resume_if_active(cmd, resource, origin_only, exclusive)) + if (!lv_resume_if_active(cmd, resource, origin_only, exclusive, revert)) return EIO; return 0; |