[dm-devel] dm: introduce DM_GET_TARGET_VERSION
Mikulas Patocka
mpatocka at redhat.com
Tue Sep 17 15:38:33 UTC 2019
On Tue, 17 Sep 2019, Mike Snitzer wrote:
> On Tue, Sep 17 2019 at 9:56am -0400,
> John Dorminy <jdorminy at redhat.com> wrote:
>
> > I'm confused here:
>
> > >...and then it fails on activation because DM table load detects old (or
> > missing) dm-crypt feature.
> > >(There was no way to get dm target version before table load if module is
> > not loaded.)
> > >And I tried to avoid modprobe calls from libcryptsetup.
> >
> > I'm not understanding how this could work. Let's say there's a module
> > providing target 'splice' which is currently unloaded. Then `dmsetup
> > target-version splice` is unaware of the splice target, and thus reports
> > nothing. So in order to get the proper version number, we do have to do a
> > modprobe first.
> > But, if the module providing splice *is* already loaded, `dmsetup targets`
> > will report splice's version number already, so `dmsetup target-version
> > splice` is a convenience instead of parsing `dmsetup targets` output?
>
> dm_get_target_type() loads the requested module. No userspace modprobe
> needed.
The reason why Milan wanted it is - that it is bad practice to call
external processes from libraries. He doesn't want to call modprobe from
libcryptsetup. So I created this patch that calls modprobe from the kernel
ioctl.
Mikulas
More information about the dm-devel
mailing list