diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-03-03 13:23:02 -0800 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-03-03 13:23:03 -0800 | 
| commit | 56a79b7b021bf1b08334e63c2c14b280e2dbf47a (patch) | |
| tree | 0419233e6194f4f12073c9284852885aa8984bec /fs/open.c | |
| parent | 1c82315a12144cde732636e259d39e3ee81b3c5b (diff) | |
| parent | dcf787f39162ce32ca325b3e784aba2d2444619a (diff) | |
| download | olio-linux-3.10-56a79b7b021bf1b08334e63c2c14b280e2dbf47a.tar.xz olio-linux-3.10-56a79b7b021bf1b08334e63c2c14b280e2dbf47a.zip  | |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull  more VFS bits from Al Viro:
 "Unfortunately, it looks like xattr series will have to wait until the
  next cycle ;-/
  This pile contains 9p cleanups and fixes (races in v9fs_fid_add()
  etc), fixup for nommu breakage in shmem.c, several cleanups and a bit
  more file_inode() work"
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
  constify path_get/path_put and fs_struct.c stuff
  fix nommu breakage in shmem.c
  cache the value of file_inode() in struct file
  9p: if v9fs_fid_lookup() gets to asking server, it'd better have hashed dentry
  9p: make sure ->lookup() adds fid to the right dentry
  9p: untangle ->lookup() a bit
  9p: double iput() in ->lookup() if d_materialise_unique() fails
  9p: v9fs_fid_add() can't fail now
  v9fs: get rid of v9fs_dentry
  9p: turn fid->dlist into hlist
  9p: don't bother with private lock in ->d_fsdata; dentry->d_lock will do just fine
  more file_inode() open-coded instances
  selinux: opened file can't have NULL or negative ->f_path.dentry
(In the meantime, the hlist traversal macros have changed, so this
required a semantic conflict fixup for the newly hlistified fid->dlist)
Diffstat (limited to 'fs/open.c')
| -rw-r--r-- | fs/open.c | 3 | 
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/open.c b/fs/open.c index e3441f58d2e..68354466879 100644 --- a/fs/open.c +++ b/fs/open.c @@ -704,7 +704,7 @@ static int do_dentry_open(struct file *f,  		f->f_mode = FMODE_PATH;  	path_get(&f->f_path); -	inode = file_inode(f); +	inode = f->f_inode = f->f_path.dentry->d_inode;  	if (f->f_mode & FMODE_WRITE) {  		error = __get_file_write_access(inode, f->f_path.mnt);  		if (error) @@ -767,6 +767,7 @@ cleanup_file:  	path_put(&f->f_path);  	f->f_path.mnt = NULL;  	f->f_path.dentry = NULL; +	f->f_inode = NULL;  	return error;  }  |