gfs2: bugger off early if O_CREAT open finds a directory
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
cac7f24298
commit
986cdb862e
|
@ -624,6 +624,11 @@ static int gfs2_create_inode(struct inode *dir, struct dentry *dentry,
|
|||
inode = gfs2_dir_search(dir, &dentry->d_name, !S_ISREG(mode) || excl);
|
||||
error = PTR_ERR(inode);
|
||||
if (!IS_ERR(inode)) {
|
||||
if (S_ISDIR(inode->i_mode)) {
|
||||
iput(inode);
|
||||
inode = ERR_PTR(-EISDIR);
|
||||
goto fail_gunlock;
|
||||
}
|
||||
d = d_splice_alias(inode, dentry);
|
||||
error = PTR_ERR(d);
|
||||
if (IS_ERR(d)) {
|
||||
|
|
Loading…
Reference in New Issue