diff -Nurb linux-2.6.22-20/fs/inode.c linux-2.6.22-40/fs/inode.c --- linux-2.6.22-20/fs/inode.c 2007-07-08 19:32:17.000000000 -0400 +++ linux-2.6.22-40/fs/inode.c 2008-04-03 16:41:53.000000000 -0400 @@ -122,6 +122,7 @@ inode->i_fop = &empty_fops; inode->i_nlink = 1; atomic_set(&inode->i_writecount, 0); + mutex_init(&inode->i_mutex); inode->i_size = 0; inode->i_blocks = 0; inode->i_bytes = 0; @@ -1102,6 +1103,7 @@ if (op && op->drop_inode) drop = op->drop_inode; + BUG_ON(atomic_read(&inode->i_mutex.count)!=1); drop(inode); }