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 :)

Reply via email to