Re: [PATCH] Add the ":" to the allowed_symbols list to work with the latest POSIX changes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2024-10-16 at 10:14 +0200, Mariusz Tkaczyk wrote:
> On Tue, 15 Oct 2024 13:35:24 -0400
> Laurence Oberman <loberman@xxxxxxxxxx> wrote:
> 
> Hello Laurence,
> Thanks for the patch.
> 
> ":" is used internally by native metadata name, we have
> "hostname:name". We are
> searching for it specifically, for that reason I think that I cannot
> accept it.
> Name must stay simple.
> 
> If you want this again, I need to full set of mdadm tests that is
> covering every
> scenario and is confirming that we are able to determine hostname (if
> exists)
> and name in every case correctly.
> 
> There are some workaround in code for that, I can see that we are not
> appending
> homehost if ":" is in the name. It is not user friendly. I prefer to
> not
> allow ":" to keep in simpler unless you have really good reason to
> have it back
> - there is no reason in commit message.
> 
> 
> > Signed-off-by: Laurence Oberman <loberman@xxxxxxxxxx>
> > ---
> >  lib.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/lib.c b/lib.c
> > index f36ae03a..cb4b6a0f 100644
> > --- a/lib.c
> > +++ b/lib.c
> > @@ -485,7 +485,7 @@ bool is_name_posix_compatible(const char *
> > const name)
> >  {
> >         assert(name);
> >  
> > -       char allowed_symbols[] = "-_.";
> > +       char allowed_symbols[] = "-_.:";
> 
> Because the function has been made to follow POSIX, this cannot be
> simply added
> here. Please at least explain that in description.
> 
> It is not POSIX compatible with this change.
> 
> 
> >         const char *n = name;
> >  
> >         if (!is_string_lq(name, NAME_MAX))
> 
> Thanks,
> Mariusz
> 

Hello
Apologies Christoph and Mariusz, this could have definitely done with
more of an explanation.

We have customers complaining about a regression in mdadm since these
changes happened. They have 1000's of raid devices that can no longer
be started because they have ":" in the name. Example 
mdadm: Value "tbz:pv1" cannot be set as devname. Reason: Not POSIX
compatible.

Should we add a --legacy flag where the original behavior is still an
option, what are your thoughts ?

Regards
Laurence 






[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux