On Mon, Jul 15, 2024 at 11:44:57AM +0200, Pankaj Raghav (Samsung) wrote: > +++ b/fs/xfs/xfs_super.c > @@ -1638,16 +1638,30 @@ xfs_fs_fill_super( > goto out_free_sb; > } > > - /* > - * Until this is fixed only page-sized or smaller data blocks work. > - */ > if (mp->m_sb.sb_blocksize > PAGE_SIZE) { > - xfs_warn(mp, > - "File system with blocksize %d bytes. " > - "Only pagesize (%ld) or less will currently work.", > + size_t max_folio_size = mapping_max_folio_size_supported(); > + > + if (!xfs_has_crc(mp)) { > + xfs_warn(mp, > +"V4 Filesystem with blocksize %d bytes. Only pagesize (%ld) or less is supported.", > mp->m_sb.sb_blocksize, PAGE_SIZE); > - error = -ENOSYS; > - goto out_free_sb; > + error = -ENOSYS; > + goto out_free_sb; > + } > + > + if (mp->m_sb.sb_blocksize > max_folio_size) { > + xfs_warn(mp, > +"block size (%u bytes) not supported; maximum folio size supported in "\ > +"the page cache is (%ld bytes). Check MAX_PAGECACHE_ORDER (%d)", > + mp->m_sb.sb_blocksize, max_folio_size, > + MAX_PAGECACHE_ORDER); Again, too much message. Way too much. We shouldn't even allow block devices to be created if their block size is larger than the max supported by the page cache.