public inbox for lvm2-cvs@sourceware.org help / color / mirror / Atom feed
From: zkabelac@sourceware.org To: lvm-devel@redhat.com, lvm2-cvs@sourceware.org Subject: LVM2/tools vgmerge.c vgsplit.c Date: Wed, 30 Mar 2011 14:35:00 -0000 [thread overview] Message-ID: <20110330143501.14414.qmail@sourceware.org> (raw) CVSROOT: /cvs/lvm2 Module name: LVM2 Changes by: zkabelac@sourceware.org 2011-03-30 14:35:01 Modified files: tools : vgmerge.c vgsplit.c Log message: Fix free_vg order As now the FID management is more complex, the code inside free_vg needs to access some parts of memory pools which were not needed before. For this - makes the order of unlock_and_free_vg() unconditional. Keek using unlock_and_free_vg() API function. For properly working VG locking mechanism only the alphabeting locking orderer needs to be preserved. TODO: there could be few more code parts simplified when we 'officially' support of referencies between different memory pools. Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/vgmerge.c.diff?cvsroot=lvm2&r1=1.72&r2=1.73 http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/vgsplit.c.diff?cvsroot=lvm2&r1=1.105&r2=1.106 --- LVM2/tools/vgmerge.c 2011/02/18 14:47:31 1.72 +++ LVM2/tools/vgmerge.c 2011/03/30 14:35:00 1.73 @@ -151,13 +151,13 @@ vg_from->name, vg_to->name); r = ECMD_PROCESSED; bad: - if (lock_vg_from_first) { - unlock_and_free_vg(cmd, vg_to, vg_name_to); - unlock_and_free_vg(cmd, vg_from, vg_name_from); - } else { - unlock_and_free_vg(cmd, vg_from, vg_name_from); - unlock_and_free_vg(cmd, vg_to, vg_name_to); - } + /* + * Note: as vg_to is referencing moved elements from vg_from + * the order of free_vg calls is mandatory. + */ + unlock_and_free_vg(cmd, vg_to, vg_name_to); + unlock_and_free_vg(cmd, vg_from, vg_name_from); + return r; } --- LVM2/tools/vgsplit.c 2011/02/18 14:47:31 1.105 +++ LVM2/tools/vgsplit.c 2011/03/30 14:35:01 1.106 @@ -487,12 +487,12 @@ r = ECMD_PROCESSED; bad: - if (lock_vg_from_first) { - unlock_and_free_vg(cmd, vg_to, vg_name_to); - unlock_and_free_vg(cmd, vg_from, vg_name_from); - } else { - unlock_and_free_vg(cmd, vg_from, vg_name_from); - unlock_and_free_vg(cmd, vg_to, vg_name_to); - } + /* + * Note: as vg_to is referencing moved elements from vg_from + * the order of free_vg calls is mandatory. + */ + unlock_and_free_vg(cmd, vg_to, vg_name_to); + unlock_and_free_vg(cmd, vg_from, vg_name_from); + return r; }
reply other threads:[~2011-03-30 14:35 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=20110330143501.14414.qmail@sourceware.org \ --to=zkabelac@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).