On Wed, Nov 13, 2024 at 01:47:25AM -0800, Luis Chamberlain wrote: > @@ -185,7 +184,7 @@ int sb_set_blocksize(struct super_block *sb, int size) > if (set_blocksize(sb->s_bdev_file, size)) > return 0; > /* If we get here, we know size is power of two > - * and it's value is between 512 and PAGE_SIZE */ > + * and it's value is larger than 512 */ If you're changing this line, please delete the incorrect apostrophe. > sb->s_blocksize = size; > sb->s_blocksize_bits = blksize_bits(size); > return sb->s_blocksize; > diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h > index 50c3b959da28..cc9fca1fceaa 100644 > --- a/include/linux/blkdev.h > +++ b/include/linux/blkdev.h > @@ -25,6 +25,7 @@ > #include <linux/uuid.h> > #include <linux/xarray.h> > #include <linux/file.h> > +#include <linux/pagemap.h> Why do we need to add this include? > @@ -268,10 +269,13 @@ static inline dev_t disk_devt(struct gendisk *disk) > return MKDEV(disk->major, disk->first_minor); > } > > +/* We should strive for 1 << (PAGE_SHIFT + MAX_PAGECACHE_ORDER) */ > +#define BLK_MAX_BLOCK_SIZE (SZ_64K) I think we need CONFIG_TRANSPARENT_HUGEPAGE to go over PAGE_SIZE.