Re: Weird blockdev crash in 6.15-rc1?

Darrick J. Wong
2025-04-10T15:25:54Z

On Thu, Apr 10, 2025 at 12:40:15AM -0700, Christoph Hellwig wrote:
> On Wed, Apr 09, 2025 at 12:09:07PM -0700, Darrick J. Wong wrote:
> > Subject: [PATCH] block: fix race between set_blocksize and IO paths
> >
> > With the new large sector size support, it's now the case that
> > set_blocksize needs to change i_blksize and the folio order with no
> > folios in the pagecache because the geometry changes cause problems with
> > the bufferhead code.
>
> Urrg. I wish we could just get out of the game of messing with
> block device inode settings from file systems. I guess doing it when
> using buffer_heads is hard, but file systems without buffer heads
> should have a way out of even propagating their block size to the
> block device inode. And file systems with buffer heads should probably
> not support large folios like this :P

Heh. Why does xfs still call set_blocksize, anyway? I can understand
why we want to validate the fs sector size is a power of 2, greater than
512, and not smaller than the LBA size; and flushing the dirty bdev
pagecache. But do we really need to fiddle with i_blksize or dumping
the pagecache?

--D