On Mon, Mar 06, 2023 at 08:23:00AM +0000, Matthew Wilcox wrote: > > All current filesystems that I'm aware of require their fs block size > to be >= LBA size. That is, you can't take a 512-byte blocksize ext2 > filesystem and put it on a 4kB LBA storage device. > > That means that files can only grow/shrink in 256MB increments. I > don't think that amount of wasted space is going to be acceptable. > So if we're serious about going down this path, we need to tell > filesystem people to start working out how to support fs block > size < LBA size. > > That's a big ask, so let's be sure storage vendors actually want > this. Both supporting zoned devices & suporting 16k/64k block > sizes are easier asks. What HDD vendors want is to be able to have 32k or even 64k *physical* sector sizes. This allows for much more efficient erasure codes, so it will increase their byte capacity now that it's no longer easier to get capacity boosts by squeezing the tracks closer and closer, and their have been various engineering tradeoffs with SMR, HAMR, and MAMR. HDD vendors have been asking for this at LSF/MM, and in other venues for ***years***. This doesn't necessarily mean that the *logical* sector size needs to be larger. What I could imagine that HDD vendors could do is to create HDD disks with, say, a 4k logical block size and a 32k physical sector size. This means that 4k random writes will require read/modify/write cycles, which isn't great from a performance performance. However, for those customers who are using raw block devices for their cluster file system, and for those customers who are willing to, say, use ext4 with a 4k block size and a 32k cluster size (using the bigalloc feature), all of the data blocks would be 32k aligned, and this would work without any modifications. I suspect that if these drives were made available, this would allow for a gradual transition to support larger block sizes. The file system level changes aren't *that* hard. There is a chicken and egg situation here; until these drives are generally available, the incentive to do the work is minimal. But with a 4k logical, 32k or 64k physical sector size, we can gradually improve our support for these file systems with block size > page size, with cluster size > page size being an intermediate step that would work today. Cheers, - Ted