]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
xfs: Support setting FMODE_CAN_ATOMIC_WRITE
authorJohn Garry <john.g.garry@oracle.com>
Tue, 5 Nov 2024 00:14:04 +0000 (16:14 -0800)
committerDarrick J. Wong <djwong@djwong.org>
Tue, 5 Nov 2024 00:22:11 +0000 (16:22 -0800)
Set FMODE_CAN_ATOMIC_WRITE flag if we can atomic write for that inode.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
Signed-off-by: John Garry <john.g.garry@oracle.com>
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Jan Kara <jack@suse.cz>
Reviewed-by: John Garry <john.g.garry@oracle.com>
Tested-by: Ojaswin Mujoo <ojaswin@linux.ibm.com> #On ppc64
fs/xfs/xfs_file.c

index 44be10490342783542ea0e9845826f9a4527ef26..c94019b12537d1648a6a3ffbff531fa5cbff33bc 100644 (file)
@@ -1223,6 +1223,8 @@ xfs_file_open(
        if (xfs_is_shutdown(XFS_M(inode->i_sb)))
                return -EIO;
        file->f_mode |= FMODE_NOWAIT | FMODE_CAN_ODIRECT;
+       if (xfs_inode_can_atomicwrite(XFS_I(inode)))
+               file->f_mode |= FMODE_CAN_ATOMIC_WRITE;
        return generic_file_open(inode, file);
 }