[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240213175954.GV616564@frogsfrogsfrogs>
Date: Tue, 13 Feb 2024 09:59:54 -0800
From: "Darrick J. Wong" <djwong@...nel.org>
To: John Garry <john.g.garry@...cle.com>
Cc: hch@....de, viro@...iv.linux.org.uk, brauner@...nel.org,
dchinner@...hat.com, jack@...e.cz, chandan.babu@...cle.com,
martin.petersen@...cle.com, linux-kernel@...r.kernel.org,
linux-xfs@...r.kernel.org, linux-fsdevel@...r.kernel.org,
tytso@....edu, jbongio@...gle.com, ojaswin@...ux.ibm.com
Subject: Re: [PATCH 6/6] fs: xfs: Set FMODE_CAN_ATOMIC_WRITE for
FS_XFLAG_ATOMICWRITES set
On Mon, Feb 05, 2024 at 10:26:43AM +0000, John Garry wrote:
> On 02/02/2024 18:06, Darrick J. Wong wrote:
> > On Wed, Jan 24, 2024 at 02:26:45PM +0000, John Garry wrote:
> > > For when an inode is enabled for atomic writes, set FMODE_CAN_ATOMIC_WRITE
> > > flag.
> > >
> > > Signed-off-by: John Garry <john.g.garry@...cle.com>
> > > ---
> > > fs/xfs/xfs_file.c | 2 ++
> > > 1 file changed, 2 insertions(+)
> > >
> > > diff --git a/fs/xfs/xfs_file.c b/fs/xfs/xfs_file.c
> > > index e33e5e13b95f..1375d0089806 100644
> > > --- a/fs/xfs/xfs_file.c
> > > +++ b/fs/xfs/xfs_file.c
> > > @@ -1232,6 +1232,8 @@ xfs_file_open(
> > > return -EIO;
> > > file->f_mode |= FMODE_NOWAIT | FMODE_BUF_RASYNC | FMODE_BUF_WASYNC |
> > > FMODE_DIO_PARALLEL_WRITE | FMODE_CAN_ODIRECT;
> > > + if (xfs_inode_atomicwrites(XFS_I(inode)))
>
> Note to self: This should also check if O_DIRECT is set
>
> >
> > Shouldn't we check that the device supports AWU at all before turning on
> > the FMODE flag?
>
> Can we easily get this sort of bdev info here?
>
> Currently if we do try to issue an atomic write and AWU for the bdev is
> zero, then XFS iomap code will reject it.
Hmm. Well, if we move towards pushing all the hardware checks out of
xfs/iomap and into whatever goes on underneath submit_bio then I guess
we don't need to check device support here at all.
--D
> Thanks,
> John
>
> >
> > --D
> >
> > > + file->f_mode |= FMODE_CAN_ATOMIC_WRITE;
> > > return generic_file_open(inode, file);
> > > }
> > > --
> > > 2.31.1
> > >
> > >
>
>
Powered by blists - more mailing lists