This is the mail archive of the
lvm2-cvs@sourceware.org
mailing list for the LVM2 project.
LVM2 ./WHATS_NEW tools/lvchange.c
- From: agk at sourceware dot org
- To: lvm2-cvs at sourceware dot org
- Date: 10 Jul 2006 19:39:15 -0000
- Subject: LVM2 ./WHATS_NEW tools/lvchange.c
CVSROOT: /cvs/lvm2
Module name: LVM2
Changes by: agk@sourceware.org 2006-07-10 19:39:14
Modified files:
. : WHATS_NEW
tools : lvchange.c
Log message:
Fix activation logic in lvchange --persistent.
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.408&r2=1.409
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/lvchange.c.diff?cvsroot=lvm2&r1=1.67&r2=1.68
--- LVM2/WHATS_NEW 2006/07/10 19:17:40 1.408
+++ LVM2/WHATS_NEW 2006/07/10 19:39:14 1.409
@@ -1,5 +1,6 @@
Version 2.02.07 -
=================================
+ Fix activation logic in lvchange --persistent.
Don't ignore persistent minor numbers when activating.
Use RTLD_GLOBAL when loading shared libraries.
Add some forgotten memlock checks to _vg_read to protect against full scans.
--- LVM2/tools/lvchange.c 2006/05/12 19:16:48 1.67
+++ LVM2/tools/lvchange.c 2006/07/10 19:39:14 1.68
@@ -315,14 +315,7 @@
lv->major = arg_int_value(cmd, major_ARG, lv->major);
log_verbose("Setting persistent device number to (%d, %d) "
"for \"%s\"", lv->major, lv->minor, lv->name);
- if (active) {
- log_verbose("Re-activating logical volume \"%s\"",
- lv->name);
- if (!activate_lv(cmd, lv)) {
- log_error("%s: reactivation failed", lv->name);
- return 0;
- }
- }
+
}
log_very_verbose("Updating logical volume \"%s\" on disk(s)", lv->name);
@@ -333,21 +326,17 @@
backup(lv->vg);
- if (!suspend_lv(cmd, lv)) {
- log_error("Failed to lock %s", lv->name);
- vg_revert(lv->vg);
- return 0;
- }
-
if (!vg_commit(lv->vg)) {
- resume_lv(cmd, lv);
+ stack;
return 0;
}
- log_very_verbose("Updating permissions for \"%s\" in kernel", lv->name);
- if (!resume_lv(cmd, lv)) {
- log_error("Problem reactivating %s", lv->name);
- return 0;
+ if (active) {
+ log_verbose("Re-activating logical volume \"%s\"", lv->name);
+ if (!activate_lv(cmd, lv)) {
+ log_error("%s: reactivation failed", lv->name);
+ return 0;
+ }
}
return 1;