1. 04 Sep, 2009 18 commits
  2. 28 Aug, 2009 1 commit
  3. 21 Aug, 2009 1 commit
  4. 20 Aug, 2009 1 commit
  5. 17 Aug, 2009 3 commits
  6. 10 Aug, 2009 1 commit
    • Jan Kara's avatar
      ocfs2: Fix possible deadlock when extending quota file · b409d7a0
      Jan Kara authored
      In OCFS2, allocator locks rank above transaction start. Thus we
      cannot extend quota file from inside a transaction less we could
      deadlock.
      
      We solve the problem by starting transaction not already in
      ocfs2_acquire_dquot() but only in ocfs2_local_read_dquot() and
      ocfs2_global_read_dquot() and we allocate blocks to quota files before starting
      the transaction.  In case we crash, quota files will just have a few blocks
      more but that's no problem since we just use them next time we extend the
      quota file.
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      Signed-off-by: default avatarJoel Becker <joel.becker@oracle.com>
      b409d7a0
  7. 07 Aug, 2009 2 commits
  8. 31 Jul, 2009 1 commit
  9. 30 Jul, 2009 1 commit
  10. 23 Jul, 2009 8 commits
  11. 21 Jul, 2009 3 commits
    • 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
    • Wengang Wang's avatar
      ocfs2: Fail ocfs2_get_block() immediately when a block needs allocation · 1f4cea37
      Wengang Wang authored
      ocfs2_get_block() does no allocation.  Hole filling for writes should
      have happened farther up in the call chain.  We detect this case and
      print an error, but we then continue with the function.  We should be
      exiting immediately.
      Signed-off-by: default avatarWengang Wang <wen.gang.wang@oracle.com>
      Signed-off-by: default avatarJoel Becker <joel.becker@oracle.com>
      1f4cea37