Message ID | 20211101203929.954622-22-willy@infradead.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | iomap/xfs folio patches | expand |
On Mon, Nov 01, 2021 at 08:39:29PM +0000, Matthew Wilcox (Oracle) wrote: > Now that iomap has been converted, XFS is multi-page folio safe. > Indicate to the VFS that it can now create multi-page folios for XFS. > > Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Looks good, Reviewed-by: Christoph Hellwig <hch@lst.de>
On Mon, Nov 01, 2021 at 08:39:29PM +0000, Matthew Wilcox (Oracle) wrote: > Now that iomap has been converted, XFS is multi-page folio safe. > Indicate to the VFS that it can now create multi-page folios for XFS. > > Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Provisional Reviewed-by: Darrick J. Wong <djwong@kernel.org> ...assuming you've run generic/521 and generic/522 (fsx) and generic/476 (fsstress) through the grinder for several days? And just for laughs, could you run those three (for an hour or two) with MKFS_OPTIONS='-m reflink=0,rmapbt=0 -d rtinherit=1 -r extsize=28k,rtdev=/dev/XXX' just to see how well multipage folios deal with 4k blocks allocated in chunks of 28k on the realtime device? Pretty please? :D --D > --- > fs/xfs/xfs_icache.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/fs/xfs/xfs_icache.c b/fs/xfs/xfs_icache.c > index f2210d927481..804507c82455 100644 > --- a/fs/xfs/xfs_icache.c > +++ b/fs/xfs/xfs_icache.c > @@ -87,6 +87,7 @@ xfs_inode_alloc( > /* VFS doesn't initialise i_mode or i_state! */ > VFS_I(ip)->i_mode = 0; > VFS_I(ip)->i_state = 0; > + mapping_set_large_folios(VFS_I(ip)->i_mapping); > > XFS_STATS_INC(mp, vn_active); > ASSERT(atomic_read(&ip->i_pincount) == 0); > @@ -336,6 +337,7 @@ xfs_reinit_inode( > inode->i_rdev = dev; > inode->i_uid = uid; > inode->i_gid = gid; > + mapping_set_large_folios(inode->i_mapping); > return error; > } > > -- > 2.33.0 >
diff --git a/fs/xfs/xfs_icache.c b/fs/xfs/xfs_icache.c index f2210d927481..804507c82455 100644 --- a/fs/xfs/xfs_icache.c +++ b/fs/xfs/xfs_icache.c @@ -87,6 +87,7 @@ xfs_inode_alloc( /* VFS doesn't initialise i_mode or i_state! */ VFS_I(ip)->i_mode = 0; VFS_I(ip)->i_state = 0; + mapping_set_large_folios(VFS_I(ip)->i_mapping); XFS_STATS_INC(mp, vn_active); ASSERT(atomic_read(&ip->i_pincount) == 0); @@ -336,6 +337,7 @@ xfs_reinit_inode( inode->i_rdev = dev; inode->i_uid = uid; inode->i_gid = gid; + mapping_set_large_folios(inode->i_mapping); return error; }
Now that iomap has been converted, XFS is multi-page folio safe. Indicate to the VFS that it can now create multi-page folios for XFS. Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> --- fs/xfs/xfs_icache.c | 2 ++ 1 file changed, 2 insertions(+)