On Tue, Aug 1, 2017 at 4:26 AM, Jan Kara <jack(a)suse.cz> wrote:
On Tue 01-08-17 04:02:41, Christoph Hellwig wrote:
> On Fri, Jul 28, 2017 at 11:38:21AM +0200, Jan Kara wrote:
> > Well, you are right I can make the implementation work with struct file
> > flag as well - let's call it O_DAXDSYNC. However there are filesystem
> > operations where you may need to answer question: Is there any fd with
> > O_DAXDSYNC open against this inode (for operations that change file offset
> > -> block mapping)? And in that case inode flag is straightforward while
> > file flag is a bit awkward (you need to implement counter of fd's with that
> > flag in the inode).
> We can still keep and inode flag as the internal implementation
> detail. As mentioned earlier the right flag to control behavior
> of a mapping is an mmap flag. And the initial naive implementation
> would simply mark the inode as sync once the first MAP_SYNC open happens
> on it. We could then move to more precise tracking if/when needed.
OK, makes sense and I like the MAP_SYNC proposal. I'll change it in my
Does sys_mmap() reject unknown flag values today? I'm either not
looking in the right place or it's missing and we'll need some
interface/mechanism to check if MAP_SYNC is honored.