From: Ritesh Harjani (IBM) Date: Thu, 15 May 2025 19:50:50 +0000 (+0530) Subject: ext4: Check if inode uses extents in ext4_inode_can_atomic_write() X-Git-Tag: v6.16-rc1~139^2~11 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=1c972b1d13dde34c9897d991283e2c54209b44e9;p=linux-block.git ext4: Check if inode uses extents in ext4_inode_can_atomic_write() EXT4 only supports doing atomic write on inodes which uses extents, so add a check in ext4_inode_can_atomic_write() which gets called during open. Reviewed-by: Ojaswin Mujoo Acked-by: Darrick J. Wong Signed-off-by: Ritesh Harjani (IBM) Link: https://patch.msgid.link/86bb502c979398a736ab371d8f35f6866a477f6c.1747337952.git.ritesh.list@gmail.com Signed-off-by: Theodore Ts'o --- diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h index 923580be3cd6..bc2deb5bfe77 100644 --- a/fs/ext4/ext4.h +++ b/fs/ext4/ext4.h @@ -3870,7 +3870,9 @@ static inline int ext4_buffer_uptodate(struct buffer_head *bh) static inline bool ext4_inode_can_atomic_write(struct inode *inode) { - return S_ISREG(inode->i_mode) && EXT4_SB(inode->i_sb)->s_awu_min > 0; + return S_ISREG(inode->i_mode) && + ext4_test_inode_flag(inode, EXT4_INODE_EXTENTS) && + EXT4_SB(inode->i_sb)->s_awu_min > 0; } extern int ext4_block_write_begin(handle_t *handle, struct folio *folio,