[lvm-devel] LVM2 ./WHATS_NEW tools/toollib.c

Mike Snitzer snitzer at redhat.com
Fri Apr 23 18:19:47 UTC 2010


On Fri, Apr 23 2010 at 11:39am -0400,
Mike Snitzer <snitzer at redhat.com> wrote:

> On Tue, Apr 13 2010 at 10:19pm -0400,
> agk at sourceware.org <agk at sourceware.org> wrote:
> 
> > CVSROOT:	/cvs/lvm2
> > Module name:	LVM2
> > Changes by:	agk at sourceware.org	2010-04-14 02:19:49
> > 
> > Modified files:
> > 	.              : WHATS_NEW 
> > 	tools          : toollib.c 
> > 
> > Log message:
> > 	Only pass visible LVs to tools in cmdline VG name/tag expansions without -a
> > 
> > Patches:
> > http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.1516&r2=1.1517
> > http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/toollib.c.diff?cvsroot=lvm2&r1=1.193&r2=1.194
> > 
> > --- LVM2/WHATS_NEW	2010/04/13 23:57:41	1.1516
> > +++ LVM2/WHATS_NEW	2010/04/14 02:19:49	1.1517
> > @@ -1,5 +1,6 @@
> >  Version 2.02.63 -  
> >  ================================
> > +  Only pass visible LVs to tools in cmdline VG name/tag expansions without -a.
> >    Use typedefs for toollib process_each functions.
> >    Use C locales and use_mlockall for clvmd.
> >    Refactor code related to vg->pvs list and add pv->vg link.
> > --- LVM2/tools/toollib.c	2010/04/13 23:57:41	1.193
> > +++ LVM2/tools/toollib.c	2010/04/14 02:19:49	1.194
> > @@ -125,6 +125,13 @@
> >  		if (lv_is_virtual_origin(lvl->lv) && !arg_count(cmd, all_ARG))
> >  			continue;
> >  
> > +		/*
> > +		 * Only let hidden LVs through it --all was used or the LVs 
> > +		 * were specifically named on the command line.
> > +		 */
> > +		if (!lvargs_supplied && !lv_is_visible(lvl->lv) && !arg_count(cmd, all_ARG))
> > +			continue;
> > +
> >  		/* Should we process this LV? */
> >  		if (process_all)
> >  			process_lv = 1;
> 
> Given that you've now made this check at a higher level I believe the
> following check in _lvs_single() is redundant.  It also serves to
> disallow displaying hidden LVs that were specifically named on the
> command line:

After further testing I'm completely confident that this is the case; so
I'm going to go ahead and commit this patch.

> diff --git a/tools/reporter.c b/tools/reporter.c
> index bd3c116..1332cc3 100644
> --- a/tools/reporter.c
> +++ b/tools/reporter.c
> @@ -33,9 +33,6 @@ static int _vgs_single(struct cmd_context *cmd __attribute((unused)),
>  static int _lvs_single(struct cmd_context *cmd, struct logical_volume *lv,
>  		       void *handle)
>  {
> -	if (!arg_count(cmd, all_ARG) && !lv_is_visible(lv))
> -		return ECMD_PROCESSED;
> -
>  	if (!report_object(handle, lv->vg, lv, NULL, NULL, NULL)) {
>  		stack;
>  		return ECMD_FAILED;
> 




More information about the lvm-devel mailing list