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/lib/format_text format-text.c Date: Mon, 28 Jun 2010 20:30:00 -0000 [thread overview] Message-ID: <20100628203031.13507.qmail@sourceware.org> (raw) CVSROOT: /cvs/lvm2 Module name: LVM2 Changes by: wysochanski@sourceware.org 2010-06-28 20:30:31 Modified files: lib/format_text: format-text.c Log message: Move dev_open / dev_close outside _vg_read_raw_area(). This refactoring moves the device open/close up one level to the caller of _vg_read_raw_area(). Should be no functional change and facilitate future changes related to metadata balancing. Signed-off-by: Dave Wysochanski <dwysocha@redhat.com> Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/format_text/format-text.c.diff?cvsroot=lvm2&r1=1.124&r2=1.125 --- LVM2/lib/format_text/format-text.c 2010/06/28 20:29:57 1.124 +++ LVM2/lib/format_text/format-text.c 2010/06/28 20:30:30 1.125 @@ -483,9 +483,6 @@ char *desc; uint32_t wrap = 0; - if (!dev_open(area->dev)) - return_NULL; - if (!(mdah = _raw_read_mda_header(fid->fmt, area))) goto_out; @@ -520,9 +517,6 @@ vg->status |= PRECOMMITTED; out: - if (!dev_close(area->dev)) - stack; - return vg; } @@ -531,8 +525,17 @@ struct metadata_area *mda) { struct mda_context *mdac = (struct mda_context *) mda->metadata_locn; + struct volume_group *vg; + + if (!dev_open(mdac->area.dev)) + return_NULL; + + vg = _vg_read_raw_area(fid, vgname, &mdac->area, 0); - return _vg_read_raw_area(fid, vgname, &mdac->area, 0); + if (!dev_close(mdac->area.dev)) + stack; + + return vg; } static struct volume_group *_vg_read_precommit_raw(struct format_instance *fid, @@ -540,8 +543,17 @@ struct metadata_area *mda) { struct mda_context *mdac = (struct mda_context *) mda->metadata_locn; + struct volume_group *vg; - return _vg_read_raw_area(fid, vgname, &mdac->area, 1); + if (!dev_open(mdac->area.dev)) + return_NULL; + + vg = _vg_read_raw_area(fid, vgname, &mdac->area, 1); + + if (!dev_close(mdac->area.dev)) + stack; + + return vg; } static int _vg_write_raw(struct format_instance *fid, struct volume_group *vg, @@ -1192,9 +1204,17 @@ /* FIXME We're reading mdah twice here... */ if ((vgname = vgname_from_mda(fmt, &rl->dev_area, &vgid, &vgstatus, NULL, NULL))) { - if ((vg = _vg_read_raw_area(&fid, vgname, - &rl->dev_area, 0))) + if (!dev_open(rl->dev_area.dev)) { + stack; + continue; + } + + vg = _vg_read_raw_area(&fid, vgname, &rl->dev_area, 0); + if (vg) lvmcache_update_vg(vg, 0); + + if (!dev_close(rl->dev_area.dev)) + stack; } }
next reply other threads:[~2010-06-28 20:30 UTC|newest] Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top 2010-06-28 20:30 wysochanski [this message] -- strict thread matches above, loose matches on Subject: below -- 2012-02-27 9:54 zkabelac 2011-03-02 10:23 prajnoha 2011-02-28 17:05 prajnoha 2011-02-25 13:50 prajnoha 2011-02-21 12:25 prajnoha 2010-11-29 11:16 zkabelac 2010-08-26 12:22 mbroz 2010-06-29 13:29 wysochanski 2009-07-31 14:23 snitzer 2009-07-30 17:41 snitzer 2006-04-21 15:37 agk 2005-10-31 2:37 agk 2005-04-06 16:35 agk 2004-05-05 18:17 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=20100628203031.13507.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: 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).