1. 24 7月, 2009 2 次提交
  2. 22 7月, 2009 2 次提交
    • J
      ocfs2: Fix deadlock on umount · f7b1aa69
      Jan Kara 提交于
      In commit ea455f8a, we moved the dentry lock
      put process into ocfs2_wq. This causes problems during umount because ocfs2_wq
      can drop references to inodes while they are being invalidated by
      invalidate_inodes() causing all sorts of nasty things (invalidate_inodes()
      ending in an infinite loop, "Busy inodes after umount" messages etc.).
      
      We fix the problem by stopping ocfs2_wq from doing any further releasing of
      inode references on the superblock being unmounted, wait until it finishes
      the current round of releasing and finally cleaning up all the references in
      dentry_lock_list from ocfs2_put_super().
      
      The issue was tracked down by Tao Ma <tao.ma@oracle.com>.
      Signed-off-by: NJan Kara <jack@suse.cz>
      Signed-off-by: NJoel Becker <joel.becker@oracle.com>
      f7b1aa69
    • T
      ocfs2: Add extra credits and access the modified bh in update_edge_lengths. · 3c5e1068
      Tao Ma 提交于
      In normal tree rotation left process, we will never touch the tree
      branch above subtree_index and ocfs2_extend_rotate_transaction doesn't
      reserve the credits for them either.
      
      But when we want to delete the rightmost extent block, we have to update
      the rightmost records for all the rightmost branch(See
      ocfs2_update_edge_lengths), so we have to allocate extra credits for them.
      What's more, we have to access them also.
      Signed-off-by: NTao Ma <tao.ma@oracle.com>
      Signed-off-by: NJoel Becker <joel.becker@oracle.com>
      3c5e1068
  3. 21 7月, 2009 4 次提交
  4. 11 7月, 2009 1 次提交
  5. 09 7月, 2009 23 次提交
  6. 08 7月, 2009 8 次提交