Re: [PATCH - mdadm] mdopen: always try create_named_array()

From: Xiao Ni
Date: Thu Mar 30 2023 - 00:56:21 EST


On Thu, Mar 30, 2023 at 11:15 AM NeilBrown <neilb@xxxxxxx> wrote:
>
> On Thu, 30 Mar 2023, Xiao Ni wrote:
> > On Thu, Mar 30, 2023 at 5:52 AM NeilBrown <neilb@xxxxxxx> wrote:
> > >
> > > On Wed, 22 Mar 2023, NeilBrown wrote:
> > > > On Wed, 22 Mar 2023, Xiao Ni wrote:
> > > >
> > > > >
> > > > > Second, are there possibilities that the arguments "dev" and "name" of
> > > > > function create_mddev
> > > > > are null at the same time?
> > > >
> > > > No. For Build or Create, dev is never NULL. For Assemble and
> > > > Incremental, name is never NULL.
> > > >
> > >
> > > I should clarify this a bit. For Assemble and Incremental, "name" is
> > > never NULL *but* it might be an empty string.
> > > So:
> > > if (name && name[0] == 0)
> > > name = NULL;
> > >
> > > might cause it to become NULL. So you cannot assume there is always
> > > either a valid "dev" or a valid "name". "dev" might be NULL, and "name"
> > > might be "".
> > >
> > > NeilBrown
> > >
> >
> > Hi Neil
> >
> > The input argument name should be the metadata name. For incremental
> > and assemble, why are there possibilities that the metadata name is
> > invalid? A raid device should have a valid metadata name, right?
>
> "should" do, yes. But you can never completely trust data on disk. It
> is safest to be prepared for "name" being "".
>
> NeilBrown
>

That's right, thanks for this explanation :)

--
Best Regards
Xiao Ni