1. 26 May, 2012 1 commit
    • Jan Schmidt's avatar
      Btrfs: ulist realloc bugfix · cd1b413c
      Jan Schmidt authored
      ulist_next gets the pointer to the previously returned element to find the
      next element from there. However, when we call ulist_add while iteration
      with ulist_next is in progress (ulist explicitly supports this), we can
      realloc the ulist internal memory, which makes the pointer to the previous
      element useless.
      
      Instead, we now use an iterator parameter that's independent from the
      internal pointers.
      Reported-by: default avatarAlexander Block <ablock84@googlemail.com>
      Signed-off-by: default avatarJan Schmidt <list.btrfs@jan-o-sch.net>
      cd1b413c
  2. 06 May, 2012 1 commit
    • Chris Mason's avatar
      Btrfs: avoid sleeping in verify_parent_transid while atomic · b9fab919
      Chris Mason authored
      verify_parent_transid needs to lock the extent range to make
      sure no IO is underway, and so it can safely clear the
      uptodate bits if our checks fail.
      
      But, a few callers are using it with spinlocks held.  Most
      of the time, the generation numbers are going to match, and
      we don't want to switch to a blocking lock just for the error
      case.  This adds an atomic flag to verify_parent_transid,
      and changes it to return EAGAIN if it needs to block to
      properly verifiy things.
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
      b9fab919
  3. 04 May, 2012 4 commits
  4. 27 Apr, 2012 7 commits
  5. 18 Apr, 2012 19 commits
  6. 13 Apr, 2012 1 commit
  7. 12 Apr, 2012 6 commits
  8. 29 Mar, 2012 1 commit