Message ID | 6324c2a6d7cda24d72cb271e2a46a0b0df721d0a.1730286164.git.ritesh.list@gmail.com |
---|---|
State | New |
Headers | show |
Series | ext4: Add atomic writes support for DIO | expand |
On Wed, Oct 30, 2024 at 09:27:40PM +0530, Ritesh Harjani (IBM) wrote: > FS needs to add the fmode capability in order to support atomic writes > during file open (refer kiocb_set_rw_flags()). Set this capability on > a regular file if ext4 can do atomic write. > > Reviewed-by: John Garry <john.g.garry@oracle.com> > Signed-off-by: Ritesh Harjani (IBM) <ritesh.list@gmail.com> > --- > fs/ext4/file.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/fs/ext4/file.c b/fs/ext4/file.c > index a7b9b9751a3f..8116bd78910b 100644 > --- a/fs/ext4/file.c > +++ b/fs/ext4/file.c > @@ -898,6 +898,9 @@ static int ext4_file_open(struct inode *inode, struct file *filp) > return ret; > } > > + if (S_ISREG(inode->i_mode) && ext4_can_atomic_write(inode->i_sb)) Modulo my comment earlier about ext4_can_atomic_write, this looks ok to me. With either variant, I say: Reviewed-by: Darrick J. Wong <djwong@kernel.org> --D > + filp->f_mode |= FMODE_CAN_ATOMIC_WRITE; > + > filp->f_mode |= FMODE_NOWAIT | FMODE_CAN_ODIRECT; > return dquot_file_open(inode, filp); > } > -- > 2.46.0 > >
diff --git a/fs/ext4/file.c b/fs/ext4/file.c index a7b9b9751a3f..8116bd78910b 100644 --- a/fs/ext4/file.c +++ b/fs/ext4/file.c @@ -898,6 +898,9 @@ static int ext4_file_open(struct inode *inode, struct file *filp) return ret; } + if (S_ISREG(inode->i_mode) && ext4_can_atomic_write(inode->i_sb)) + filp->f_mode |= FMODE_CAN_ATOMIC_WRITE; + filp->f_mode |= FMODE_NOWAIT | FMODE_CAN_ODIRECT; return dquot_file_open(inode, filp); }