nfs: set FILE_CREATED
authorMiklos Szeredi <mszeredi@suse.cz>
Mon, 16 Sep 2013 12:52:04 +0000 (14:52 +0200)
committerAl Viro <viro@zeniv.linux.org.uk>
Mon, 16 Sep 2013 23:17:24 +0000 (19:17 -0400)
Set FILE_CREATED on O_CREAT|O_EXCL.  If the NFS server honored our request
for exclusivity then this must be correct.

Currently this is a no-op, since the VFS sets FILE_CREATED anyway.  The
next patch will, however, require this flag to be always set by
filesystems.

Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Cc: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/nfs/dir.c

index de434f309af037c5196335d41666312a69bc50a7..854a8f05a61007bf14b2dd75e7f080fbb248cce4 100644 (file)
@@ -1392,6 +1392,9 @@ static int nfs_finish_open(struct nfs_open_context *ctx,
 {
        int err;
 
+       if ((open_flags & (O_CREAT | O_EXCL)) == (O_CREAT | O_EXCL))
+               *opened |= FILE_CREATED;
+
        err = finish_open(file, dentry, do_open, opened);
        if (err)
                goto out;