diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-26 23:16:07 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-26 23:16:07 -0500 |
commit | d895cb1af15c04c522a25c79cc429076987c089b (patch) | |
tree | 895dc9157e28f603d937a58be664e4e440d5530c /fs/nfsd/vfs.c | |
parent | 9626357371b519f2b955fef399647181034a77fe (diff) | |
parent | d3d009cb965eae7e002ea5badf603ea8f4c34915 (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull vfs pile (part one) from Al Viro:
"Assorted stuff - cleaning namei.c up a bit, fixing ->d_name/->d_parent
locking violations, etc.
The most visible changes here are death of FS_REVAL_DOT (replaced with
"has ->d_weak_revalidate()") and a new helper getting from struct file
to inode. Some bits of preparation to xattr method interface changes.
Misc patches by various people sent this cycle *and* ocfs2 fixes from
several cycles ago that should've been upstream right then.
PS: the next vfs pile will be xattr stuff."
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (46 commits)
saner proc_get_inode() calling conventions
proc: avoid extra pde_put() in proc_fill_super()
fs: change return values from -EACCES to -EPERM
fs/exec.c: make bprm_mm_init() static
ocfs2/dlm: use GFP_ATOMIC inside a spin_lock
ocfs2: fix possible use-after-free with AIO
ocfs2: Fix oops in ocfs2_fast_symlink_readpage() code path
get_empty_filp()/alloc_file() leave both ->f_pos and ->f_version zero
target: writev() on single-element vector is pointless
export kernel_write(), convert open-coded instances
fs: encode_fh: return FILEID_INVALID if invalid fid_type
kill f_vfsmnt
vfs: kill FS_REVAL_DOT by adding a d_weak_revalidate dentry op
nfsd: handle vfs_getattr errors in acl protocol
switch vfs_getattr() to struct path
default SET_PERSONALITY() in linux/elf.h
ceph: prepopulate inodes only when request is aborted
d_hash_and_lookup(): export, switch open-coded instances
9p: switch v9fs_set_create_acl() to inode+fid, do it before d_instantiate()
9p: split dropping the acls from v9fs_set_create_acl()
...
Diffstat (limited to 'fs/nfsd/vfs.c')
-rw-r--r-- | fs/nfsd/vfs.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c index 31ff1d642e31..2a7eb536de0b 100644 --- a/fs/nfsd/vfs.c +++ b/fs/nfsd/vfs.c | |||
@@ -979,7 +979,7 @@ static void kill_suid(struct dentry *dentry) | |||
979 | */ | 979 | */ |
980 | static int wait_for_concurrent_writes(struct file *file) | 980 | static int wait_for_concurrent_writes(struct file *file) |
981 | { | 981 | { |
982 | struct inode *inode = file->f_path.dentry->d_inode; | 982 | struct inode *inode = file_inode(file); |
983 | static ino_t last_ino; | 983 | static ino_t last_ino; |
984 | static dev_t last_dev; | 984 | static dev_t last_dev; |
985 | int err = 0; | 985 | int err = 0; |
@@ -1070,7 +1070,7 @@ __be32 nfsd_read(struct svc_rqst *rqstp, struct svc_fh *fhp, | |||
1070 | if (err) | 1070 | if (err) |
1071 | return err; | 1071 | return err; |
1072 | 1072 | ||
1073 | inode = file->f_path.dentry->d_inode; | 1073 | inode = file_inode(file); |
1074 | 1074 | ||
1075 | /* Get readahead parameters */ | 1075 | /* Get readahead parameters */ |
1076 | ra = nfsd_get_raparms(inode->i_sb->s_dev, inode->i_ino); | 1076 | ra = nfsd_get_raparms(inode->i_sb->s_dev, inode->i_ino); |
@@ -1957,7 +1957,7 @@ static __be32 nfsd_buffered_readdir(struct file *file, filldir_t func, | |||
1957 | offset = *offsetp; | 1957 | offset = *offsetp; |
1958 | 1958 | ||
1959 | while (1) { | 1959 | while (1) { |
1960 | struct inode *dir_inode = file->f_path.dentry->d_inode; | 1960 | struct inode *dir_inode = file_inode(file); |
1961 | unsigned int reclen; | 1961 | unsigned int reclen; |
1962 | 1962 | ||
1963 | cdp->err = nfserr_eof; /* will be cleared on successful read */ | 1963 | cdp->err = nfserr_eof; /* will be cleared on successful read */ |