[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200402205518.GF3952565@iweiny-DESK2.sc.intel.com>
Date: Thu, 2 Apr 2020 13:55:19 -0700
From: Ira Weiny <ira.weiny@...el.com>
To: Christoph Hellwig <hch@....de>
Cc: Jan Kara <jack@...e.cz>,
"Darrick J. Wong" <darrick.wong@...cle.com>,
Dave Chinner <david@...morbit.com>,
"Theodore Y. Ts'o" <tytso@....edu>,
Dan Williams <dan.j.williams@...el.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Alexander Viro <viro@...iv.linux.org.uk>,
linux-ext4 <linux-ext4@...r.kernel.org>,
linux-xfs <linux-xfs@...r.kernel.org>,
linux-fsdevel <linux-fsdevel@...r.kernel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Linus Torvalds <torvalds@...ux-foundation.org>
Subject: Re: [PATCH V5 00/12] Enable per-file/per-directory DAX operations V5
On Thu, Apr 02, 2020 at 10:53:27AM +0200, Christoph Hellwig wrote:
> On Wed, Apr 01, 2020 at 12:25:11PM +0200, Jan Kara wrote:
> > > - Applications must call statx to discover the current S_DAX state.
> > >
> > > - There exists an advisory file inode flag FS_XFLAG_DAX that can be
> > > changed on files that have no blocks allocated to them. Changing
> > > this flag does not necessarily change the S_DAX state immediately
> > > but programs can query the S_DAX state via statx.
> >
> > I generally like the proposal but I think the fact that toggling
> > FS_XFLAG_DAX will not have immediate effect on S_DAX will cause quite some
> > confusion and ultimately bug reports. I'm thinking whether we could somehow
> > improve this... For example an ioctl that would try to make set inode flags
> > effective by evicting the inode (and returning EBUSY if the eviction is
> > impossible for some reason)?
>
> I'd just return an error for that case, don't play silly games like
> evicting the inode.
I think I agree with Christoph here. But I want to clarify. I was heading in
a direction of failing the ioctl completely. But we could have the flag change
with an appropriate error which could let the user know the change has been
delayed.
But I don't immediately see what error code is appropriate for such an
indication. Candidates I can envision:
EAGAIN
ERESTART
EUSERS
EINPROGRESS
None are perfect but I'm leaning toward EINPROGRESS.
Ira
Powered by blists - more mailing lists