On Tue, Dec 14, 2021 at 02:15:16PM +0530, Chandan Babu R wrote: > This commit upgrades inodes to use 64-bit extent counters when they are read > from disk. Inodes are upgraded only when the filesystem instance has > XFS_SB_FEAT_INCOMPAT_NREXT64 incompat flag set. > > Signed-off-by: Chandan Babu R <chandan.babu@xxxxxxxxxx> > --- > fs/xfs/libxfs/xfs_inode_buf.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/fs/xfs/libxfs/xfs_inode_buf.c b/fs/xfs/libxfs/xfs_inode_buf.c > index fe21e9808f80..b8e4e1f69989 100644 > --- a/fs/xfs/libxfs/xfs_inode_buf.c > +++ b/fs/xfs/libxfs/xfs_inode_buf.c > @@ -253,6 +253,12 @@ xfs_inode_from_disk( > } > if (xfs_is_reflink_inode(ip)) > xfs_ifork_init_cow(ip); > + > + if ((from->di_version == 3) && > + xfs_has_nrext64(ip->i_mount) && > + !xfs_dinode_has_nrext64(from)) > + ip->i_diflags2 |= XFS_DIFLAG2_NREXT64; The indentation levels of the if test should not be aligned with the if body, and this should be in xfs_trans_log_inode so that the metadata update is staged properly with a transaction. V3 did it this way, so I'm a little surprised to see V4 regressing that...? --D > + > return 0; > > out_destroy_data_fork: > -- > 2.30.2 >