• Jan Kara's avatar
    [PATCH] Fix oops in invalidate_dquots() · 6362e4d4
    Jan Kara authored
    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: default avatarJan Kara <jack@suse.cz>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    6362e4d4
dquot.c 52.2 KB