public inbox for lvm2-cvs@sourceware.org help / color / mirror / Atom feed
From: mbroz@sourceware.org To: lvm-devel@redhat.com, lvm2-cvs@sourceware.org Subject: LVM2/tools pvmove.c Date: Mon, 26 Mar 2012 20:31:00 -0000 [thread overview] Message-ID: <20120326203101.14850.qmail@sourceware.org> (raw) CVSROOT: /cvs/lvm2 Module name: LVM2 Changes by: mbroz@sourceware.org 2012-03-26 20:31:01 Modified files: tools : pvmove.c Log message: Use new flag PVMOVE_EXCLUSIVE in update_metatada call. There is no real functional change in this patch except it avoids checking cluster cmirror module twice. (Flag used in following patch.) Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/pvmove.c.diff?cvsroot=lvm2&r1=1.94&r2=1.95 --- LVM2/tools/pvmove.c 2012/03/13 20:21:27 1.94 +++ LVM2/tools/pvmove.c 2012/03/26 20:31:01 1.95 @@ -18,6 +18,7 @@ #include "display.h" #define PVMOVE_FIRST_TIME 0x00000001 /* Called for first time */ +#define PVMOVE_EXCLUSIVE 0x00000002 /* Require exclusive LV */ static int _pvmove_target_present(struct cmd_context *cmd, int clustered) { @@ -358,7 +359,7 @@ struct logical_volume *lv_mirr, struct dm_list *lvs_changed, unsigned flags) { - unsigned exclusive = _pvmove_is_exclusive(cmd, vg); + unsigned exclusive = (flags & PVMOVE_EXCLUSIVE) ? 1 : 0; unsigned first_time = (flags & PVMOVE_FIRST_TIME) ? 1 : 0; int r = 0; @@ -390,6 +391,9 @@ /* Only the first mirror segment gets activated as a mirror */ /* FIXME: Add option to use a log */ if (first_time) { + if (!exclusive && _pvmove_is_exclusive(cmd, vg)) + exclusive = 1; + if (!_activate_lv(cmd, lv_mirr, exclusive)) { if (test_mode()) { r = 1; @@ -428,7 +432,7 @@ struct dm_list *lvs_changed; struct physical_volume *pv; struct logical_volume *lv_mirr; - unsigned first_time = 1; + unsigned flags = PVMOVE_FIRST_TIME; unsigned exclusive; int r = ECMD_FAILED; @@ -485,7 +489,7 @@ goto out; } - first_time = 0; + flags &= ~PVMOVE_FIRST_TIME; } else { /* Determine PE ranges to be moved */ if (!(source_pvl = create_pv_list(cmd->mem, vg, 1, @@ -518,9 +522,11 @@ /* init_pvmove(1); */ /* vg->status |= PVMOVE; */ - if (first_time) { + if (flags & PVMOVE_FIRST_TIME) { + if (exclusive) + flags |= PVMOVE_EXCLUSIVE; if (!_update_metadata - (cmd, vg, lv_mirr, lvs_changed, PVMOVE_FIRST_TIME)) + (cmd, vg, lv_mirr, lvs_changed, flags)) goto_out; }
next reply other threads:[~2012-03-26 20:31 UTC|newest] Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top 2012-03-26 20:31 mbroz [this message] -- strict thread matches above, loose matches on Subject: below -- 2012-03-27 12:01 mbroz 2012-03-27 11:43 mbroz 2011-12-08 18:06 agk 2011-10-11 8:51 zkabelac 2011-09-21 16:36 agk 2009-12-04 14:03 prajnoha 2004-05-05 18:33 agk 2004-03-31 18:41 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=20120326203101.14850.qmail@sourceware.org \ --to=mbroz@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).