Re: Recent changes mean sb_min_blocksize() can now fail

From: Jan Kara
Date: Tue Apr 08 2025 - 06:54:32 EST


On Tue 08-04-25 12:39:52, Jan Kara wrote:
> Hi!
>
> On Tue 08-04-25 06:33:53, Phillip Lougher wrote:
> > A recent (post 6.14) change to the kernel means sb_min_blocksize() can now fail,
> > and any filesystem which doesn't check the result may behave unexpectedly as a
> > result. This change has recently affected Squashfs, and checking the kernel code,
> > a number of other filesystems including isofs, gfs2, exfat, fat and xfs do not
> > check the result. This is a courtesy email to warn others of this change.
> >
> > The following emails give the relevant details.
> >
> > https://lore.kernel.org/all/2a13ea1c-08df-4807-83d4-241831b7a2ec@xxxxxxxxxxxxxxx/
> > https://lore.kernel.org/all/129d4f39-6922-44e9-8b1c-6455ee564dda@xxxxxxxxxxxxxxx/
>
> Indeed. Thanks for the heads up!

But isofs is actually fine since setting bdev block size needs exclusive open
(i.e., has to happen before filesystem mount begins and claims bdev) and
isofs does:

if (bdev_logical_block_size(s->s_bdev) > 2048)
bail

in its isofs_fill_super().

Honza
--
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR