diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2013-09-17 01:22:33 +0200 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2013-09-17 23:08:50 +0200 |
commit | 03da633aa7b08bdc4d86e9c2780bb89277b65cd6 (patch) | |
tree | f663ce0d2f49867c6b4f9b0631976a9e7ea9556a /fs/9p/vfs_inode_dotl.c | |
parent | vfs: don't set FILE_CREATED before calling ->atomic_open() (diff) | |
download | linux-03da633aa7b08bdc4d86e9c2780bb89277b65cd6.tar.xz linux-03da633aa7b08bdc4d86e9c2780bb89277b65cd6.zip |
atomic_open: take care of EEXIST in no-open case with O_CREAT|O_EXCL in fs/namei.c
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/9p/vfs_inode_dotl.c')
-rw-r--r-- | fs/9p/vfs_inode_dotl.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/fs/9p/vfs_inode_dotl.c b/fs/9p/vfs_inode_dotl.c index 53687bbf2296..a7c481402c46 100644 --- a/fs/9p/vfs_inode_dotl.c +++ b/fs/9p/vfs_inode_dotl.c @@ -267,14 +267,8 @@ v9fs_vfs_atomic_open_dotl(struct inode *dir, struct dentry *dentry, } /* Only creates */ - if (!(flags & O_CREAT)) + if (!(flags & O_CREAT) || dentry->d_inode) return finish_no_open(file, res); - else if (dentry->d_inode) { - if ((flags & (O_CREAT | O_EXCL)) == (O_CREAT | O_EXCL)) - return -EEXIST; - else - return finish_no_open(file, res); - } v9ses = v9fs_inode2v9ses(dir); |