Re: [Lsf-pc] [LSF/MM TOPIC] really large storage sectors - going beyond 4096 bytes

Theodore Ts'o
2014-01-23T12:55:50Z

On Thu, Jan 23, 2014 at 07:35:58PM +1100, Dave Chinner wrote:
> >
> > I expect it would be relatively simple to get large blocksizes working
> > on powerpc with 64k PAGE_SIZE. So before diving in and doing huge
> > amounts of work, perhaps someone can do a proof-of-concept on powerpc
> > (or ia64) with 64k blocksize.
>
> Reality check: 64k block sizes on 64k page Linux machines has been
> used in production on XFS for at least 10 years. It's exactly the
> same case as 4k block size on 4k page size - one page, one buffer
> head, one filesystem block.

This is true for ext4 as well. Block size == page size support is
pretty easy; the hard part is when block size > page size, due to
assumptions in the VM layer that requires that FS system needs to do a
lot of extra work to fudge around. So the real problem comes with
trying to support 64k block sizes on a 4k page architecture, and can
we do it in a way where every single file system doesn't have to do
their own specific hacks to work around assumptions made in the VM
layer.

Some of the problems include handling the case where you get someone
dirties a single block in a sparse page, and the FS needs to manually
fault in the other 56k pages around that single page. Or the VM not
understanding that page eviction needs to be done in chunks of 64k so
we don't have part of the block evicted but not all of it, etc.

- Ted