[Bug 1858802] Re: libblkid: no bcache UUID due to ambivalent detection of bcache and xfs_external_log for regular xfs in bcache backing device
Eric Desrochers
eric.desrochers at canonical.com
Fri Jan 10 16:44:16 UTC 2020
** Tags added: sts-sponsor-slashd-focal
--
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:
In Progress
Status in util-linux source package in Xenial:
In Progress
Status in util-linux source package in Bionic:
In Progress
Status in util-linux source package in Disco:
In Progress
Status in util-linux source package in Eoan:
In Progress
Status in util-linux source package in Focal:
In Progress
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