Skip to content
  1. Jul 31, 2009
  2. Jul 24, 2009
  3. Jul 22, 2009
    • Jan Kara's avatar
      ocfs2: Fix deadlock on umount · f7b1aa69
      Jan Kara authored
      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: default avatarJan Kara <jack@suse.cz>
      Signed-off-by: default avatarJoel Becker <joel.becker@oracle.com>
      f7b1aa69
    • Tao Ma's avatar
      ocfs2: Add extra credits and access the modified bh in update_edge_lengths. · 3c5e1068
      Tao Ma authored
      
      
      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: default avatarTao Ma <tao.ma@oracle.com>
      Signed-off-by: default avatarJoel Becker <joel.becker@oracle.com>
      3c5e1068
  4. Jul 21, 2009
  5. Jul 11, 2009
  6. Jul 09, 2009
  7. Jul 08, 2009