summaryrefslogtreecommitdiffstats
path: root/fs/jfs/super.c
diff options
context:
space:
mode:
authorDave Kleikamp <shaggy@austin.ibm.com>2005-08-10 11:14:39 -0500
committerDave Kleikamp <shaggy@austin.ibm.com>2005-08-10 11:14:39 -0500
commit8a9cd6d676728792aaee31f30015d284acd154a3 (patch)
tree7e40b3b1802b1a86603f7ac6bf74906775a2956e /fs/jfs/super.c
parenta5c96cab8f3c4ca9b2177dceb5de5a0edb31418e (diff)
downloadop-kernel-dev-8a9cd6d676728792aaee31f30015d284acd154a3.zip
op-kernel-dev-8a9cd6d676728792aaee31f30015d284acd154a3.tar.gz
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.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/jfs/super.c b/fs/jfs/super.c
index c2abdae..9ff8972 100644
--- a/fs/jfs/super.c
+++ b/fs/jfs/super.c
@@ -114,6 +114,8 @@ static void jfs_destroy_inode(struct inode *inode)
{
struct jfs_inode_info *ji = JFS_IP(inode);
+ BUG_ON(!list_empty(&ji->anon_inode_list));
+
spin_lock_irq(&ji->ag_lock);
if (ji->active_ag != -1) {
struct bmap *bmap = JFS_SBI(inode->i_sb)->bmap;
OpenPOWER on IntegriCloud