diff options
author | Dave Kleikamp <shaggy@austin.ibm.com> | 2005-08-10 12:14:39 -0400 |
---|---|---|
committer | Dave Kleikamp <shaggy@austin.ibm.com> | 2005-08-10 12:14:39 -0400 |
commit | 8a9cd6d676728792aaee31f30015d284acd154a3 (patch) | |
tree | 7e40b3b1802b1a86603f7ac6bf74906775a2956e /fs/jfs/super.c | |
parent | a5c96cab8f3c4ca9b2177dceb5de5a0edb31418e (diff) |
JFS: Fix race in txLock
TxAnchor.anon_list is protected by jfsTxnLock (TXN_LOCK), but there was
a place in txLock() that was removing an entry from the list without holding
the spinlock.
Signed-off-by: Dave Kleikamp <shaggy@austin.ibm.com>
Diffstat (limited to 'fs/jfs/super.c')
-rw-r--r-- | fs/jfs/super.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/jfs/super.c b/fs/jfs/super.c index c2abdaee0c0b..9ff89720f93b 100644 --- a/fs/jfs/super.c +++ b/fs/jfs/super.c | |||
@@ -114,6 +114,8 @@ static void jfs_destroy_inode(struct inode *inode) | |||
114 | { | 114 | { |
115 | struct jfs_inode_info *ji = JFS_IP(inode); | 115 | struct jfs_inode_info *ji = JFS_IP(inode); |
116 | 116 | ||
117 | BUG_ON(!list_empty(&ji->anon_inode_list)); | ||
118 | |||
117 | spin_lock_irq(&ji->ag_lock); | 119 | spin_lock_irq(&ji->ag_lock); |
118 | if (ji->active_ag != -1) { | 120 | if (ji->active_ag != -1) { |
119 | struct bmap *bmap = JFS_SBI(inode->i_sb)->bmap; | 121 | struct bmap *bmap = JFS_SBI(inode->i_sb)->bmap; |