[lvm-devel] [PATCH] Ignore _mlog name restriction for lvconvert repair

malahal at us.ibm.com malahal at us.ibm.com
Thu Feb 11 20:38:27 UTC 2010


Takahiro Yasui [tyasui at redhat.com] wrote:
> Malahal Naineni wrote:
> > lvconvert --repair is done on _mlog mirrored log logical volumes from
> > dmeventd if something fails.
> > 
> > diff -r 86200db56a7c -r 471e224a5713 tools/lvconvert.c
> > --- a/tools/lvconvert.c	Tue Feb 09 17:49:50 2010 -0800
> > +++ b/tools/lvconvert.c	Wed Feb 10 09:12:11 2010 -0800
> > @@ -105,8 +105,12 @@ static int _lvconvert_name_params(struct
> >  	if ((ptr = strrchr(lp->lv_name_full, '/')))
> >  		lp->lv_name = ptr + 1;
> >  
> > -	if (!apply_lvname_restrictions(lp->lv_name))
> > -		return_0;
> > +	/* _mlog is an internal name, but it could be mirrored, so
> > +	 * allow repairing it.
> > +	 */
> > +	if (!arg_count(cmd, repair_ARG) || !strstr(lp->lv_name, "_mlog"))
> > +		if (!apply_lvname_restrictions(lp->lv_name))
> > +			return_0;
> >  
> >  	if (*pargc && lp->snapshot) {
> >  		log_error("Too many arguments provided for snapshots");
> 
> lvname is better to be checked if a logical volume is not mirrored log
> but simple logical volume. How about using (lv->status & MIRRORED) for
> the check?

I thought about it but such details are not available at that point. All
the information available at that point is derived from the command line
arguments!

Thanks, Malahal.




More information about the lvm-devel mailing list