diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-10-26 20:58:44 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-10-26 20:58:44 -0400 |
commit | 426e1f5cec4821945642230218876b0e89aafab1 (patch) | |
tree | 2728ace018d0698886989da586210ef1543a7098 /fs/anon_inodes.c | |
parent | 9e5fca251f44832cb996961048ea977f80faf6ea (diff) | |
parent | 63997e98a3be68d7cec806d22bf9b02b2e1daabb (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (52 commits)
split invalidate_inodes()
fs: skip I_FREEING inodes in writeback_sb_inodes
fs: fold invalidate_list into invalidate_inodes
fs: do not drop inode_lock in dispose_list
fs: inode split IO and LRU lists
fs: switch bdev inode bdi's correctly
fs: fix buffer invalidation in invalidate_list
fsnotify: use dget_parent
smbfs: use dget_parent
exportfs: use dget_parent
fs: use RCU read side protection in d_validate
fs: clean up dentry lru modification
fs: split __shrink_dcache_sb
fs: improve DCACHE_REFERENCED usage
fs: use percpu counter for nr_dentry and nr_dentry_unused
fs: simplify __d_free
fs: take dcache_lock inside __d_path
fs: do not assign default i_ino in new_inode
fs: introduce a per-cpu last_ino allocator
new helper: ihold()
...
Diffstat (limited to 'fs/anon_inodes.c')
-rw-r--r-- | fs/anon_inodes.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/anon_inodes.c b/fs/anon_inodes.c index e4b75d6eda83..5365527ca43f 100644 --- a/fs/anon_inodes.c +++ b/fs/anon_inodes.c | |||
@@ -111,10 +111,9 @@ struct file *anon_inode_getfile(const char *name, | |||
111 | path.mnt = mntget(anon_inode_mnt); | 111 | path.mnt = mntget(anon_inode_mnt); |
112 | /* | 112 | /* |
113 | * We know the anon_inode inode count is always greater than zero, | 113 | * We know the anon_inode inode count is always greater than zero, |
114 | * so we can avoid doing an igrab() and we can use an open-coded | 114 | * so ihold() is safe. |
115 | * atomic_inc(). | ||
116 | */ | 115 | */ |
117 | atomic_inc(&anon_inode_inode->i_count); | 116 | ihold(anon_inode_inode); |
118 | 117 | ||
119 | path.dentry->d_op = &anon_inodefs_dentry_operations; | 118 | path.dentry->d_op = &anon_inodefs_dentry_operations; |
120 | d_instantiate(path.dentry, anon_inode_inode); | 119 | d_instantiate(path.dentry, anon_inode_inode); |
@@ -194,6 +193,7 @@ static struct inode *anon_inode_mkinode(void) | |||
194 | if (!inode) | 193 | if (!inode) |
195 | return ERR_PTR(-ENOMEM); | 194 | return ERR_PTR(-ENOMEM); |
196 | 195 | ||
196 | inode->i_ino = get_next_ino(); | ||
197 | inode->i_fop = &anon_inode_fops; | 197 | inode->i_fop = &anon_inode_fops; |
198 | 198 | ||
199 | inode->i_mapping->a_ops = &anon_aops; | 199 | inode->i_mapping->a_ops = &anon_aops; |