Hi Qu Wenro,

thanks for debugging this. What I am wondering- why did it work when creating the initial device? For Debian it looks like there is no other version of btrfs-progs available, so I used this version (5.10.1-1) to create the btrfs device.

And may I workaround this issue by manually creating a softlink /dev/manualdevice to /dev/mappper/crypt_drbd3? The link will be gone after reboot but btrfs should then find the device by it's UUID, shouldn't it?

Greetings

/KNEBB


Am 02.03.2021 um 02:18 schrieb Qu Wenruo:


On 2021/3/2 上午1:24, Christian Völker wrote:
Hi,

just a little update on the issue.

As soon as I omit the encryption part I can easily add the device to the
btrfs filesystem. It does not matter if the crypted device is on top of
DRBD or directly on the /dev/sdc. In both cases btrs refuses to add the
device when a luks-encrypted device is on top.

In case I am swapping my setup (drbd on top of encryption) and add the
drbd device to btrfs it works without any issues.

However, I prefer the other way round- and as the other two btrfs
devices are both encryption on top of drbd it should work...

It appears it does not like to add a third device-mapper device...

Let me know how I can help in debugging. If i have some time I will
setup a machine trying to reproduce this.

Got the problem reproduced here.

And surprisingly, it's something related to btrfs-progs, not the kernel.

I just added one debug info in btrfs-progs, it shows:

$ sudo ./btrfs dev add /dev/test/scratch2  /mnt/btrfs
cmd_device_add: path=dm-5
ERROR: error adding device 'dm-5': No such file or directory

See the problem?

The path which should be passed to kernel lacks the "/dev/test/" prefix,
thus it's not pointing to correct path and cause the ENOENT error, since
there is no "dm-5" in current path.

Thankfully it's already fixed in devel branch with commit 2347b34af4d8
("btrfs-progs: fix device mapper path canonicalization").

The offending patch is 922eaa7b5472 ("btrfs-progs: build: fix linking
with static libmount"), which is in v5.10.1.

You can revert back to v5.10 to workaroud it.


TO David,

Would you consider to add a new v5.10.2 to fix the problem? As it seems
to affect the end user quite badly.

Thanks,
Qu

any ideas otherwise? Let me know!

Thanks!

/KNEBB


Reply via email to