Commit f7bb959d authored by Al Viro's avatar Al Viro
Browse files

open_last_lookups(): consolidate fsnotify_create() calls



Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent c5971b8c
Loading
Loading
Loading
Loading
+2 −5
Original line number Diff line number Diff line
@@ -2957,8 +2957,6 @@ static struct dentry *atomic_open(struct nameidata *nd, struct dentry *dentry,
				dput(dentry);
				dentry = dget(file->f_path.dentry);
			}
			if (file->f_mode & FMODE_CREATED)
				fsnotify_create(dir, dentry);
		} else if (WARN_ON(file->f_path.dentry == DENTRY_NOT_SET)) {
			error = -EIO;
		} else {
@@ -2966,8 +2964,6 @@ static struct dentry *atomic_open(struct nameidata *nd, struct dentry *dentry,
				dput(dentry);
				dentry = file->f_path.dentry;
			}
			if (file->f_mode & FMODE_CREATED)
				fsnotify_create(dir, dentry);
			if (unlikely(d_is_negative(dentry)))
				error = -ENOENT;
		}
@@ -3103,7 +3099,6 @@ no_open:
						open_flag & O_EXCL);
		if (error)
			goto out_dput;
		fsnotify_create(dir_inode, dentry);
	}
	if (unlikely(create_error) && !dentry->d_inode) {
		error = create_error;
@@ -3182,6 +3177,8 @@ static const char *open_last_lookups(struct nameidata *nd,
	else
		inode_lock_shared(dir->d_inode);
	dentry = lookup_open(nd, file, op, got_write);
	if (!IS_ERR(dentry) && (file->f_mode & FMODE_CREATED))
		fsnotify_create(dir->d_inode, dentry);
	if (open_flag & O_CREAT)
		inode_unlock(dir->d_inode);
	else