[lvm-devel] [PATCH] (1/2) new library interface for vg_read
Dave Wysochanski
dwysocha at redhat.com
Fri Dec 12 17:50:25 UTC 2008
On Fri, 2008-12-12 at 10:20 +0100, Petr Rockai wrote:
> Dave Wysochanski <dwysocha at redhat.com> writes:
> > On Tue, 2008-12-09 at 17:44 +0100, Petr Rockai wrote:
> >> /* FIXME: remove redundant vg_name */
> >> int vg_remove_single(struct cmd_context *cmd, const char *vg_name,
> >> - struct volume_group *vg, int consistent,
> >> + struct volume_group *vg,
> >> force_t force __attribute((unused)))
> >> {
> >> struct physical_volume *pv;
> >> @@ -340,7 +340,7 @@ int vg_remove_single(struct cmd_context
> >> unsigned lv_count;
> >> int ret = 1;
> >>
> >> - if (!vg || !consistent || vg_missing_pv_count(vg)) {
> >> + if (vg_read_error(vg) || vg_missing_pv_count(vg)) {
> >> log_error("Volume group \"%s\" not found, is
> >> inconsistent "
> >> "or has PVs missing.", vg_name);
> >> log_error("Consider vgreduce --removemissing if
> >> metadata "
> >
> > Did you mean to put this in the second patch?
> Actually, hard to tell. It, after all, is part of the library, for a reason or
> other. It belongs equally well to the first as to the second patch. What do you
> propose?
>
Well, doesn't this cause a bug in this path though for the !consistent
case? First patch drops the consistent variable in this vgremove path,
but things like _process_one_vg() do not use the new APIs (which sets
the proper error codes) until the second patch. You mention in your
patch intro this first patch should apply and make a completely workable
LVM so I'm assuming you mean no bugs.
I'm still digesting the main changes in vg_lock_and_read().
More information about the lvm-devel
mailing list