fsnotify: pass a file instead of an inode to open, read, and write
fanotify, the upcoming notification system actually needs a struct path so it can do opens in the context of listeners, and it needs a file so it can get f_flags from the original process. Close was the only operation that already was passing a struct file to the notification hook. This patch passes a file for access, modify, and open as well as they are easily available to these hooks. Signed-off-by: Eric Paris <eparis@redhat.com>
This commit is contained in:
@@ -951,7 +951,7 @@ nfsd_vfs_read(struct svc_rqst *rqstp, struct svc_fh *fhp, struct file *file,
|
||||
nfsdstats.io_read += host_err;
|
||||
*count = host_err;
|
||||
err = 0;
|
||||
fsnotify_access(file->f_path.dentry);
|
||||
fsnotify_access(file);
|
||||
} else
|
||||
err = nfserrno(host_err);
|
||||
out:
|
||||
@@ -1062,7 +1062,7 @@ nfsd_vfs_write(struct svc_rqst *rqstp, struct svc_fh *fhp, struct file *file,
|
||||
goto out_nfserr;
|
||||
*cnt = host_err;
|
||||
nfsdstats.io_write += host_err;
|
||||
fsnotify_modify(file->f_path.dentry);
|
||||
fsnotify_modify(file);
|
||||
|
||||
/* clear setuid/setgid flag after write */
|
||||
if (inode->i_mode & (S_ISUID | S_ISGID))
|
||||
|
Reference in New Issue
Block a user