Verification done on eoan-proposed. Now libblkid1 detects only the bcache superblock and prints udev/uuid variables.
$ lsb_release -cs eoan $ 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 |................| eoan-updates: --- $ dpkg -s libblkid1 | grep -i version: Version: 2.34-0.1ubuntu2.1 $ sudo blkid -o udev -p $BACKING_DEV ID_FS_AMBIVALENT=other:bcache other:xfs_external_log eoan-proposed: --- $ apt-cache madison libblkid1 | grep proposed libblkid1 | 2.34-0.1ubuntu2.2 | http://archive.ubuntu.com/ubuntu eoan-proposed/main amd64 Packages $ sudo apt install libblkid1 -y $ dpkg -s libblkid1 | grep -i version: Version: 2.34-0.1ubuntu2.2 $ sudo blkid -o udev -p $BACKING_DEV ID_FS_UUID=55bac736-a3dc-4d9a-80e9-330ba46dd97d ID_FS_UUID_ENC=55bac736-a3dc-4d9a-80e9-330ba46dd97d ID_FS_TYPE=bcache ID_FS_USAGE=other ** Tags added: verification-done-eoan -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, 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 -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp