• Linus Torvalds's avatar
    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · 51eab603
    Linus Torvalds authored
    Pull btrfs updates from Chris Mason:
     "This includes a fairly large change from Josef around data writeback
      completion.  Before, the writeback wasn't completed until the metadata
      insertions for the extent were done, and this made for fairly large
      latency spikes on the last page of each ordered extent.
    
      We already had a separate mechanism for tracking pending metadata
      insertions, so Josef just needed to tweak things a little to end
      writeback earlier on the page.  Overall it makes us much friendly to
      memory reclaim and lowers latencies quite a lot for synchronous IO.
    
      Jan Schmidt has finished some background work required to track btree
      blocks as they go through changes in ownership.  It's the missing
      piece he needed for both btrfs send/receive and subvolume quotas.
      Neither of those are ready yet, but the new tracking code is included
      here.  Most of the time, the new code is off.  It is only used by
      scrub and other backref walkers.
    
      Stefan Behrens has added io failure tracking.  This includes counters
      for which drives are causing the most trouble so the admin (or an
      automated tool) can choose to kick them out.  We're tracking IO
      errors, crc errors, and generation checks we do on each metadata
      block.
    
      RAID5/6 did miss the cut this time because I'm having trouble with
      corruptions.  I'll nail it down next week and post as a beta testing
      before 3.6"
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (58 commits)
      Btrfs: fix tree mod log rewinded level and rewinding of moved keys
      Btrfs: fix tree mod log del_ptr
      Btrfs: add tree_mod_dont_log helper
      Btrfs: add missing spin_lock for insertion into tree mod log
      Btrfs: add inodes before dropping the extent lock in find_all_leafs
      Btrfs: use delayed ref sequence numbers for all fs-tree updates
      Btrfs: fix false positive in check-integrity on unmount
      Btrfs: fix runtime warning in check-integrity check data mode
      Btrfs: set ioprio of scrub readahead to idle
      Btrfs: fix return code in drop_objectid_items
      Btrfs: check to see if the inode is in the log before fsyncing
      Btrfs: return value of btrfs_read_buffer is checked correctly
      Btrfs: read device stats on mount, write modified ones during commit
      Btrfs: add ioctl to get and reset the device stats
      Btrfs: add device counters for detected IO and checksum errors
      btrfs: Drop unused function btrfs_abort_devices()
      Btrfs: fix the same inode id problem when doing auto defragment
      Btrfs: fall back to non-inline if we don't have enough space
      Btrfs: fix how we deal with the orphan block rsv
      Btrfs: convert the inode bit field to use the actual bit operations
      ...
    51eab603
inode.c 202 KB