public inbox for lvm2-cvs@sourceware.org
help / color / mirror / Atom feed
From: wysochanski@sourceware.org
To: lvm-devel@redhat.com, lvm2-cvs@sourceware.org
Subject: LVM2/tools vgsplit.c
Date: Wed, 01 Jul 2009 17:04:00 -0000	[thread overview]
Message-ID: <20090701170422.28170.qmail@sourceware.org> (raw)

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	wysochanski@sourceware.org	2009-07-01 17:04:22

Modified files:
	tools          : vgsplit.c 

Log message:
	Convert vgsplit to use vg_read_for_update.
	
	Sun May  3 13:12:28 CEST 2009  Petr Rockai <me@mornfall.net>
	* Convert vgsplit to use vg_read_for_update.
	
	Author: Petr Rockai <prockai@redhat.com>
	Committer: Dave Wysochanski <dwysocha@redhat.com>

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/vgsplit.c.diff?cvsroot=lvm2&r1=1.76&r2=1.77

--- LVM2/tools/vgsplit.c	2009/06/10 11:21:10	1.76
+++ LVM2/tools/vgsplit.c	2009/07/01 17:04:21	1.77
@@ -282,7 +282,6 @@
 	struct volume_group *vg_to = NULL, *vg_from = NULL;
 	int opt;
 	int existing_vg = 0;
-	int consistent;
 	int r = ECMD_FAILED;
 	const char *lv_name;
 	uint32_t rc;
@@ -315,11 +314,11 @@
 	}
 
 	log_verbose("Checking for volume group \"%s\"", vg_name_from);
-	if (!(vg_from = vg_lock_and_read(cmd, vg_name_from, NULL, LCK_VG_WRITE,
-				       CLUSTERED | EXPORTED_VG |
-				       RESIZEABLE_VG | LVM_WRITE,
-				       CORRECT_INCONSISTENT | FAIL_INCONSISTENT)))
-		 return ECMD_FAILED;
+
+	vg_from = vg_read_for_update(cmd, vg_name_from, NULL,
+				     READ_REQUIRE_RESIZEABLE);
+	if (vg_read_error(vg_from))
+		return ECMD_FAILED;
 
 	log_verbose("Checking for new volume group \"%s\"", vg_name_to);
 	/*
@@ -339,12 +338,14 @@
 	}
 	if (rc == FAILED_EXIST) {
 		existing_vg = 1;
-		if (!(vg_to = vg_lock_and_read(cmd, vg_name_to, NULL,
-					       LCK_VG_WRITE,
-					       CLUSTERED | EXPORTED_VG |
-					       RESIZEABLE_VG | LVM_WRITE,
-					       CORRECT_INCONSISTENT | FAIL_INCONSISTENT)))
-			return ECMD_FAILED;
+		vg_to = vg_read_for_update(cmd, vg_name_to, NULL,
+					   READ_REQUIRE_RESIZEABLE |
+					   LOCK_NONBLOCKING | LOCK_KEEP |
+					   READ_CHECK_EXISTENCE);
+
+		if (vg_read_error(vg_to))
+			goto_bad;
+
 		if (new_vg_option_specified(cmd)) {
 			log_error("Volume group \"%s\" exists, but new VG "
 				    "option specified", vg_name_to);
@@ -456,13 +457,12 @@
 	/*
 	 * Finally, remove the EXPORTED flag from the new VG and write it out.
 	 */
-	consistent = 1;
 	if (!test_mode()) {
-		vg_release(vg_to);
-		if (!(vg_to = vg_read_internal(cmd, vg_name_to, NULL, &consistent)) ||
-		    !consistent) {
-			log_error("Volume group \"%s\" became inconsistent: please "
-				  "fix manually", vg_name_to);
+		vg_to = vg_read_for_update(cmd, vg_name_to, NULL,
+					   READ_ALLOW_EXPORTED);
+		if (vg_read_error(vg_to)) {
+			log_error("Volume group \"%s\" became inconsistent: "
+				  "please fix manually", vg_name_to);
 			goto_bad;
 		}
 	}


             reply	other threads:[~2009-07-01 17:04 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-01 17:04 wysochanski [this message]
  -- strict thread matches above, loose matches on Subject: below --
2009-09-02 21:27 wysochanski
2009-09-02 21:27 wysochanski
2009-09-02 21:26 wysochanski
2009-09-02 21:26 wysochanski
2009-09-02 21:26 wysochanski
2009-09-02 21:26 wysochanski
2009-09-02 21:25 wysochanski
2009-07-09  5:41 wysochanski
2009-07-08 14:27 wysochanski
2009-06-10 11:21 mbroz
2009-06-09 14:31 wysochanski
2008-04-15 14:57 agk
2008-04-10 21:34 wysochanski
2008-04-10 20:02 agk
2008-04-10  2:15 wysochanski
2008-04-10  1:30 wysochanski
2008-02-29  0:13 wysochanski
2008-01-22  3:49 wysochanski
2008-01-11 20:17 wysochanski
2007-11-15  2:53 agk
2007-07-23 21:10 wysochanski

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=20090701170422.28170.qmail@sourceware.org \
    --to=wysochanski@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: link
Be 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).