On Fri, Nov 17, 2023 at 08:12:58AM -0500, Brian Foster wrote: > When playing around with comparing some fstests results on different > filesystems, I noticed that a 'bcachefs format' of a previously > btrfs-formatted device still continued to mount as btrfs. The reason > for this is that the blkid wipe invoked via open_for_format() is not > working correctly. blkid_do_wipe() depends on the "SBMAGIC[_OFFSET]" > values to do any work, and the associated superblock magic flag is > not enabled on the probe. > > Set the probe flags to explicitly enable the values the bcachefs > code depends on in the probe. This includes the type, label and > superblock magic information. > > There are also a couple quirks in the libblkid code that might be > worth noting. One is that the superblock enablement and flag setting > functions appear hardcoded to return zero, so we just combine the > error checks. Second, while blkid_do_wipe() can return an error, it > actually doesn't in the scenario being addressed here because it > doesn't seem to distinguish between the values being absent because > nothing was found by the probe or because the values weren't enabled > in the first place. Regardless, add an error check here in the event > the wipe does explicitly fail for some unexpected reason. > > Signed-off-by: Brian Foster <[email protected]>
Nice! Other people have reported this, glad it's fixed :)
