[Bug 1858802] Re: libblkid: no bcache UUID due to ambivalent detection of bcache and xfs_external_log for regular xfs in bcache backing device
Mauricio Faria de Oliveira
mfo at canonical.com
Mon Jan 27 16:18:05 UTC 2020
Verification done on bionic-proposed.
Now libblkid1 detects only the bcache superblock and prints udev/uuid variables.
$ lsb_release -cs
bionic
$ DISK_IMG=disk.img
$ rm -f $DISK_IMG
$ dd if=/dev/zero of=$DISK_IMG bs=1G count=0 seek=1
$ BACKING_DEV=$(sudo losetup --find --show $DISK_IMG)
$ sudo make-bcache -B $BACKING_DEV
$ BCACHE_DEV="$(readlink -e /sys/block/$(basename $BACKING_DEV)/bcache/dev)"
$ BCACHE_DEV="/dev/$(basename $BCACHE_DEV)"
$ sudo mkfs.xfs -d agsize=16m -l agnum=0 -f $BCACHE_DEV
$ echo 1 | sudo tee /sys/block/$(basename $BCACHE_DEV)/bcache/stop
$ sudo hexdump -C $BACKING_DEV | grep -m2 -e XFSB -e 'fe ed ba be'
00002000 58 46 53 42 00 00 10 00 00 00 00 00 00 03 f0 00 |XFSB............|
00007000 fe ed ba be 00 00 00 01 00 00 00 02 00 00 02 00 |................|
bionic-updates:
---
$ dpkg -s libblkid1 | grep -i version
Version: 2.31.1-0.4ubuntu3.4
$ sudo blkid -o udev -p $BACKING_DEV
ID_FS_AMBIVALENT=other:bcache other:xfs_external_log
bionic-proposed:
---
$ apt-cache madison libblkid1 | grep proposed
libblkid1 | 2.31.1-0.4ubuntu3.5 | http://archive.ubuntu.com/ubuntu bionic-proposed/main amd64 Packages
$ sudo apt install libblkid1 -y
$ dpkg -s libblkid1 | grep -i version:
Version: 2.31.1-0.4ubuntu3.5
$ sudo blkid -o udev -p $BACKING_DEV
ID_FS_UUID=7879f264-a1e6-4b7f-8fd0-2565c10adc44
ID_FS_UUID_ENC=7879f264-a1e6-4b7f-8fd0-2565c10adc44
ID_FS_TYPE=bcache
ID_FS_USAGE=other
** Tags added: verification-done-bionic
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to util-linux in Ubuntu.
https://bugs.launchpad.net/bugs/1858802
Title:
libblkid: no bcache UUID due to ambivalent detection of bcache and
xfs_external_log for regular xfs in bcache backing device
Status in util-linux package in Ubuntu:
Fix Released
Status in util-linux source package in Xenial:
Fix Committed
Status in util-linux source package in Bionic:
Fix Committed
Status in util-linux source package in Disco:
Won't Fix
Status in util-linux source package in Eoan:
Fix Committed
Status in util-linux source package in Focal:
Fix Released
Status in util-linux package in Debian:
Unknown
Bug description:
[Impact]
* Users with an XFS filesystem on top of bcache
(this is seen on some ceph, cloud deployments)
might fail to reference the bcache device by
UUID or other udev properties.
* The journal of the regular XFS filesystem in
the bcache device is incorrectly detected as
an XFS external log; so two superblocks are
detected (bcache and xfs_external_log).
* Thus blkid fails with ambivalent superblocks
detected then doesn't provide the usual udev
properties (UUID, etc.)
* The fix improves the probe function for XFS
external log so it detects it's regular XFS
and bails out.
[Test Case]
* See test steps detailed in comment #7 and later.
- Create an XFS filesystem with the journal/log
in the beginning of the bcache device (< 256K).
- Stop the bcache device.
- Run '$ blkid -o udev -p $BCACHE_BACKING_DEVICE'.
$ sudo make-bcache -B $BACKING_DEV
$ sudo mkfs.xfs -d agsize=16m -l agnum=0 -f $BCACHE_DEV
$ echo 1 | sudo tee /sys/block/$(basename $BCACHE_DEV)/bcache/stop
$ sudo blkid -o udev -p $BACKING_DEV
[Regression Potential]
* The patch only changes the detection function
for XFS external log to be more general about
the sector where the magic of regular XFS may
be found (which is shifted inside the bcache.)
* It still checks at sector zero (the only one
checked previously), so this behavior didn't
change.
* Possible regressions are actual XFS external
log devices that are not anymore detected as
such. (Although that would probably indicate
a different bug in libblkid.)
[Other Info]
* upstream commit:
https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/commit/?id=d756af7d640c51ce8d1414607bd3f17eeecf2424
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/util-linux/+bug/1858802/+subscriptions
More information about the foundations-bugs
mailing list