]> git.ipfire.org Git - people/ms/linux.git/commit - fs/quota/dquot.c
[PATCH] Fix oops in invalidate_dquots()
authorJan Kara <jack@suse.cz>
Thu, 23 Mar 2006 11:00:17 +0000 (03:00 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Thu, 23 Mar 2006 15:38:10 +0000 (07:38 -0800)
commit6362e4d4eda61efb04ac1cdae32e48ac6d90b701
treebe13a8b673d117ec3d186f2911f4ebae3da857dd
parent804f1594cc3deb161e531a43d90c501f0db2635a
[PATCH] Fix oops in invalidate_dquots()

When quota is being turned off we assumed that all the references to dquots
were already dropped.  That need not be true as inodes being deleted are
not on superblock's inodes list and hence we need not reach it when
removing quota references from inodes.  So invalidate_dquots() has to wait
for all the users of dquots (as quota is already marked as turned off, no
new references can be acquired and so this is bound to happen rather
early).  When we do this, we can also remove the iprune_sem locking as it
was protecting us against exactly the same problem when freeing inodes
icache memory.

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
fs/dquot.c