[dm-devel] dm: avoid filesystem lookup in dm_get_dev_t()
Mike Snitzer
snitzer at redhat.com
Thu Jan 21 16:09:33 UTC 2021
On Thu, Jan 21 2021 at 10:02am -0500,
Martin Wilck <mwilck at suse.com> wrote:
> On Thu, 2020-12-10 at 18:11 +0100, Martin Wilck wrote:
> > On Thu, 2020-12-10 at 10:24 +0100, Hannes Reinecke wrote:
> > > dm_get_dev_t() is just used to convert an arbitrary 'path' string
> > > into a dev_t. It doesn't presume that the device is present; that
> > > check will be done later, as the only caller is dm_get_device(),
> > > which does a dm_get_table_device() later on, which will properly
> > > open the device.
> > > So if the path string already _is_ in major:minor representation
> > > we can convert it directly, avoiding a recursion into the
> > > filesystem
> > > to lookup the block device.
> > > This avoids a hang in multipath_message() when the filesystem is
> > > inaccessible.
> > >
> > > Signed-off-by: Hannes Reinecke <hare at suse.de>
> >
> > Ack, although I believe the scsi/__GENKSYMS__ part doesn't belong
> > here.
> >
> > Note that this is essentially a revert/fix of 644bda6f3460 ("dm
> > table:
> > fall back to getting device using name_to_dev_t()"). Added the author
> > of that patch to CC.
>
> Mike, do you need anything more to apply this one? Do you want a
> cleaned-up resend?
It got hung up with Christoph correctly requesting more discussion, last
linux-block/lkml mail on the associated thread I kicked off is here:
https://lkml.org/lkml/2020/12/23/76
Basically if Hannes or yourself would like to review that thread and
send a relevant v2 it'd really help move this forward. I'm bogged down
with too many competing tasks. You guys may be able to act on this line
of development/fixing quicker than I'll get to it.
Thanks,
Mike
More information about the dm-devel
mailing list