Skip to content
  1. Jan 17, 2009
    • Chris Mason's avatar
      Btrfs: Clear the device->running_pending flag before bailing on congestion · 1d9e2ae9
      Chris Mason authored
      
      
      Btrfs maintains a queue of async bio submissions so the checksumming
      threads don't have to wait on get_request_wait.  In order to avoid
      extra wakeups, this code has a running_pending flag that is used
      to tell new submissions they don't need to wake the thread.
      
      When the threads notice congestion on a single device, they
      may decide to requeue the job and move on to other devices.  This
      makes sure the running_pending flag is cleared before the
      job is requeued.
      
      It should help avoid IO stalls by making sure the task is woken up
      when new submissions come in.
      
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
      1d9e2ae9
  2. Jan 10, 2009
    • Chris Mason's avatar
      Btrfs: explicitly mark the tree log root for writeback · e293e97e
      Chris Mason authored
      
      
      Each subvolume has an extent_state_tree used to mark metadata
      that needs to be sent to disk while syncing the tree.  This is
      used in addition to the dirty bits on the pages themselves so that
      a single subvolume can be sent to disk efficiently in disk order.
      
      Normally this marking happens in btrfs_alloc_free_block, which also does
      special recording of dirty tree blocks for the tree log roots.
      
      Yan Zheng noticed that when the root of the log tree is allocated, it is added
      to the wrong writeback list.  The fix used here is to explicitly set
      it dirty as part of tree log creation.
      
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
      e293e97e
  3. Jan 08, 2009
  4. Jan 07, 2009
  5. Jan 06, 2009
  6. Dec 25, 2008
  7. Dec 24, 2008
  8. Dec 23, 2008