]> git.baikalelectronics.ru Git - kernel.git/commit
[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)
commit8efc5a92207e396b2914fd48fb83fa711c531a92
treebe13a8b673d117ec3d186f2911f4ebae3da857dd
parent89f6da7c60684e0a26e10de46cc40a2439a5a28b
[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