Re: [PATCH 1/2] dm: update table type check for dax

From: Kani, Toshimitsu
Date: Tue Jun 28 2016 - 16:23:32 EST


On Tue, 2016-06-28 at 16:07 -0400, Mike Snitzer wrote:
> On Tue, Jun 28 2016 atÂÂ3:37pm -0400,
> Toshi Kani <toshi.kani@xxxxxxx> wrote:
Â:
> You said in the 0th header: "Patch 1 solves an error when lvremove is
> made to a snapshot device."
>
> I'm not seeing why this patch 1 fixes anything specific to snapshot
> device removal (but I can see why patch 2 makes snapshot creation
> "work").ÂÂI'll apply your 2nd patch and see if I can see what you mean.
>
> I actually see this error, without either of your 2 proposed patches
> applied, when I try to create a snapshot of a DAX capable LV:
>
> # lvcreate -s -n snap -L 100M pmem/lv
> Â device-mapper: reload ioctl on (253:7) failed: Invalid argument
> Â Failed to lock logical volume pmem/lv.
> Â Aborting. Manual intervention required.
> Jun 28 15:57:28 rhel-storage-02 kernel: device-mapper: ioctl: can't change
> device type after initial table load.

Yes, patch 2 fixes this error.

I have not looked into why lvremove does this, but lvremove to a snapshot
device fails to reload DM table of "<dev>-lvsnap" device (which is marked as
DM_TYPE_BIO_BASED) with DM_TYPE_DAX_BIO_BASED. ÂPatch 1 fixes this error. ÂI
think it also generally makes sense to allow this case.

Thanks,
-Toshi