diff options
author | Nick Piggin <npiggin@suse.de> | 2010-01-29 18:38:28 -0500 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2010-04-27 11:32:42 -0400 |
commit | 1bb96f6d4dece641a9e9d7b97b109f6930967067 (patch) | |
tree | 25ee49409c0322ebcfd5c9d216bc2cfd11b5ff65 /fs/hpfs/inode.c | |
parent | 81d2f3cb75bf112a21fad52e9d3e3a1d7d0c907d (diff) |
fs-inode_lock-scale-4
Protect inode->i_count with i_lock, rather than having it atomic.
Next step should also be to move things together (eg. the refcount increment
into d_instantiate, which will remove a lock/unlock cycle on i_lock).
Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: John Stultz <johnstul@us.ibm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'fs/hpfs/inode.c')
-rw-r--r-- | fs/hpfs/inode.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/hpfs/inode.c b/fs/hpfs/inode.c index fe703ae46bc7..b22044cb988b 100644 --- a/fs/hpfs/inode.c +++ b/fs/hpfs/inode.c | |||
@@ -182,7 +182,7 @@ void hpfs_write_inode(struct inode *i) | |||
182 | struct hpfs_inode_info *hpfs_inode = hpfs_i(i); | 182 | struct hpfs_inode_info *hpfs_inode = hpfs_i(i); |
183 | struct inode *parent; | 183 | struct inode *parent; |
184 | if (i->i_ino == hpfs_sb(i->i_sb)->sb_root) return; | 184 | if (i->i_ino == hpfs_sb(i->i_sb)->sb_root) return; |
185 | if (hpfs_inode->i_rddir_off && !atomic_read(&i->i_count)) { | 185 | if (hpfs_inode->i_rddir_off && !i->i_count) { |
186 | if (*hpfs_inode->i_rddir_off) printk("HPFS: write_inode: some position still there\n"); | 186 | if (*hpfs_inode->i_rddir_off) printk("HPFS: write_inode: some position still there\n"); |
187 | kfree(hpfs_inode->i_rddir_off); | 187 | kfree(hpfs_inode->i_rddir_off); |
188 | hpfs_inode->i_rddir_off = NULL; | 188 | hpfs_inode->i_rddir_off = NULL; |