1. 14 Dec, 2010 8 commits
  2. 13 Dec, 2010 1 commit
    • Chris Mason's avatar
      Btrfs: EIO when we fail to read tree roots · 68433b73
      Chris Mason authored
      If we just get a plain IO error when we read tree roots, the code
      wasn't properly sending that error up the chain.  This allowed mounts to
      continue when they should failed, and allowed operations
      on partially setup root structs.  The end result was usually oopsen
      on spinlocks that hadn't been spun up correctly.
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
      68433b73
  3. 10 Dec, 2010 8 commits
  4. 09 Dec, 2010 5 commits
    • Christoph Hellwig's avatar
      xfs: log timestamp changes to the source inode in rename · 05340d4a
      Christoph Hellwig authored
      Now that we don't mark VFS inodes dirty anymore for internal
      timestamp changes, but rely on the transaction subsystem to push
      them out, we need to explicitly log the source inode in rename after
      updating it's timestamps to make sure the changes actually get
      forced out by sync/fsync or an AIL push.
      
      We already account for the fourth inode in the log reservation, as a
      rename of directories needs to update the nlink field, so just
      adding the xfs_trans_log_inode call is enough.
      
      This fixes the xfsqa 065 regression introduced by:
      
      	"xfs: don't use vfs writeback for pure metadata modifications"
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatarDave Chinner <dchinner@redhat.com>
      Signed-off-by: default avatarAlex Elder <aelder@sgi.com>
      05340d4a
    • Josef Bacik's avatar
      Btrfs: fixup return code for btrfs_del_orphan_item · 7e1fea73
      Josef Bacik authored
      If the orphan item doesn't exist, we return 1, which doesn't make any sense to
      the callers.  Instead return -ENOENT if we didn't find the item.  Thanks,
      Signed-off-by: default avatarJosef Bacik <josef@redhat.com>
      7e1fea73
    • Josef Bacik's avatar
      Btrfs: do not do fast caching if we are allocating blocks for tree_root · b8399dee
      Josef Bacik authored
      Since the fast caching uses normal tree locking, we can possibly deadlock if we
      get to the caching via a btrfs_search_slot() on the tree_root.  So just check to
      see if the root we are on is the tree root, and just don't do the fast caching.
      Reported-by: default avatarSage Weil <sage@newdream.net>
      Signed-off-by: default avatarJosef Bacik <josef@redhat.com>
      b8399dee
    • Josef Bacik's avatar
      Btrfs: deal with space cache errors better · 2b20982e
      Josef Bacik authored
      Currently if the space cache inode generation number doesn't match the
      generation number in the space cache header we will just fail to load the space
      cache, but we won't mark the space cache as an error, so we'll keep getting that
      error each time somebody tries to cache that block group until we actually clear
      the thing.  Fix this by marking the space cache as having an error so we only
      get the message once.  This patch also makes it so that we don't try and setup
      space cache for a block group that isn't cached, since we won't be able to write
      it out anyway.  None of these problems are actual problems, they are just
      annoying and sub-optimal.  Thanks,
      Signed-off-by: default avatarJosef Bacik <josef@redhat.com>
      2b20982e
    • Josef Bacik's avatar
      Btrfs: fix use after free in O_DIRECT · 955256f2
      Josef Bacik authored
      This fixes a bug where we use dip after we have freed it.  Instead just use the
      file_offset that was passed to the function.  Thanks,
      Signed-off-by: default avatarJosef Bacik <josef@redhat.com>
      955256f2
  5. 08 Dec, 2010 12 commits
  6. 07 Dec, 2010 6 commits