public inbox for lvm2-cvs@sourceware.org help / color / mirror / Atom feed
From: jbrassow@sourceware.org To: lvm-devel@redhat.com, lvm2-cvs@sourceware.org Subject: LVM2 ./WHATS_NEW lib/metadata/lv_manip.c lib/m ... Date: Thu, 23 Jun 2011 14:01:00 -0000 [thread overview] Message-ID: <20110623140100.23242.qmail@sourceware.org> (raw) CVSROOT: /cvs/lvm2 Module name: LVM2 Changes by: jbrassow@sourceware.org 2011-06-23 14:00:59 Modified files: . : WHATS_NEW lib/metadata : lv_manip.c mirror.c Log message: Fix to preserve exclusive activation of mirror while up-converting. When an LVM mirror is up-converted (an additional image added), it creates a temporary mirror stack. The lower-level mirror in the stack that is created was not being activated exclusively - violating the exclusive nature of the original mirror. We now check for exclusive activation of a mirror before converting it, and if found, we ensure that the temporary mirror is also exclusively activated. Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.2025&r2=1.2026 http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/metadata/lv_manip.c.diff?cvsroot=lvm2&r1=1.263&r2=1.264 http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/metadata/mirror.c.diff?cvsroot=lvm2&r1=1.155&r2=1.156 --- LVM2/WHATS_NEW 2011/06/23 10:53:24 1.2025 +++ LVM2/WHATS_NEW 2011/06/23 14:00:58 1.2026 @@ -1,5 +1,6 @@ Version 2.02.86 - ================================= + Fix to preserve exclusive activation of mirror while up-converting. Reject allocation if number of extents is not divisible by area count. Fix issue preventing cluster mirror creation. Disable udev fallback by default and add activation/udev_fallback to lvm.conf. --- LVM2/lib/metadata/lv_manip.c 2011/06/23 10:53:24 1.263 +++ LVM2/lib/metadata/lv_manip.c 2011/06/23 14:00:58 1.264 @@ -3103,11 +3103,13 @@ uint64_t status, const char *layer_suffix) { + int r; struct logical_volume *layer_lv; char *name; size_t len; struct segment_type *segtype; struct lv_segment *mapseg; + unsigned exclusive = 0; /* create an empty layer LV */ len = strlen(lv_where->name) + 32; @@ -3129,6 +3131,9 @@ return NULL; } + if (lv_is_active_exclusive_locally(lv_where)) + exclusive = 1; + if (lv_is_active(lv_where) && strstr(name, "_mimagetmp")) { log_very_verbose("Creating transient LV %s for mirror conversion in VG %s.", name, lv_where->vg->name); @@ -3150,8 +3155,15 @@ return NULL; } - if (!activate_lv(cmd, layer_lv)) { - log_error("Failed to resume transient error LV %s for mirror conversion in VG %s.", name, lv_where->vg->name); + if (exclusive) + r = activate_lv_excl(cmd, layer_lv); + else + r = activate_lv(cmd, layer_lv); + + if (!r) { + log_error("Failed to resume transient LV" + " %s for mirror conversion in VG %s.", + name, lv_where->vg->name); return NULL; } } --- LVM2/lib/metadata/mirror.c 2011/06/22 21:31:21 1.155 +++ LVM2/lib/metadata/mirror.c 2011/06/23 14:00:59 1.156 @@ -419,8 +419,13 @@ } } - if (!activate_lv(cmd, lv)) - return_0; + if (lv_is_active_exclusive_locally(lv)) { + if (!activate_lv_excl(cmd, lv)) + return_0; + } else { + if (!activate_lv(cmd, lv)) + return_0; + } if (!deactivate_lv(cmd, lv)) return_0;
next reply other threads:[~2011-06-23 14:01 UTC|newest] Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top 2011-06-23 14:01 jbrassow [this message] -- strict thread matches above, loose matches on Subject: below -- 2012-02-23 17:36 jbrassow 2012-02-23 3:57 jbrassow 2012-02-15 15:18 zkabelac 2012-02-08 13:05 zkabelac 2012-02-01 2:10 agk 2011-10-22 16:42 zkabelac 2011-09-06 18:49 agk 2011-08-18 19:41 jbrassow 2011-08-11 3:29 jbrassow 2011-04-09 19:05 zkabelac 2011-01-24 14:19 agk 2011-01-11 17:05 jbrassow 2010-10-14 20:03 jbrassow 2010-04-23 19:27 snitzer 2010-04-09 1:00 agk 2010-03-25 21:19 agk 2010-03-25 2:31 agk 2010-01-08 22:32 jbrassow 2009-05-13 21:29 mbroz 2009-05-13 21:28 mbroz 2009-04-21 14:32 mbroz 2009-04-07 10:20 mbroz 2008-03-28 19:08 wysochanski 2008-01-26 0:25 agk 2008-01-18 22:01 agk 2007-12-20 18:55 agk 2007-08-28 16:14 wysochanski 2007-08-03 21:22 wysochanski 2006-12-13 3:40 agk 2006-10-23 15:54 agk 2006-10-08 12:01 agk 2006-09-11 21:14 agk 2005-11-10 14:45 agk 2005-10-18 13:43 agk 2004-05-05 18:49 agk
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20110623140100.23242.qmail@sourceware.org \ --to=jbrassow@sourceware.org \ --cc=lvm-devel@redhat.com \ --cc=lvm2-cvs@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).