1. 11 11月, 2013 3 次提交
  2. 23 10月, 2013 1 次提交
  3. 11 10月, 2013 1 次提交
  4. 25 9月, 2013 1 次提交
    • K
      bcache: Fix flushes in writeback mode · c0f04d88
      Kent Overstreet 提交于
      In writeback mode, when we get a cache flush we need to make sure we
      issue a flush to the backing device.
      
      The code for sending down an extra flush was wrong - by cloning the bio
      we were probably getting flags that didn't make sense for a bare flush,
      and also the old code was firing for FUA bios, for which we don't need
      to send a flush to the backing device.
      
      This was causing data corruption somehow - the mechanism was never
      determined, but this patch fixes it for the users that were seeing it.
      Signed-off-by: NKent Overstreet <kmo@daterainc.com>
      Cc: linux-stable <stable@vger.kernel.org> # >= v3.10
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      c0f04d88
  5. 12 7月, 2013 1 次提交
  6. 02 7月, 2013 2 次提交
    • K
      bcache: Use standard utility code · 8e51e414
      Kent Overstreet 提交于
      Some of bcache's utility code has made it into the rest of the kernel,
      so drop the bcache versions.
      
      Bcache used to have a workaround for allocating from a bio set under
      generic_make_request() (if you allocated more than once, the bios you
      already allocated would get stuck on current->bio_list when you
      submitted, and you'd risk deadlock) - bcache would mask out __GFP_WAIT
      when allocating bios under generic_make_request() so that allocation
      could fail and it could retry from workqueue. But bio_alloc_bioset() has
      a workaround now, so we can drop this hack and the associated error
      handling.
      Signed-off-by: NKent Overstreet <koverstreet@google.com>
      8e51e414
    • K
      bcache: FUA fixes · e49c7c37
      Kent Overstreet 提交于
      Journal writes need to be marked FUA, not just REQ_FLUSH. And btree node
      writes have... weird ordering requirements.
      Signed-off-by: NKent Overstreet <koverstreet@google.com>
      e49c7c37
  7. 27 6月, 2013 3 次提交
    • K
      bcache: Write out full stripes · 72c27061
      Kent Overstreet 提交于
      Now that we're tracking dirty data per stripe, we can add two
      optimizations for raid5/6:
      
       * If a stripe is already dirty, force writes to that stripe to
         writeback mode - to help build up full stripes of dirty data
      
       * When flushing dirty data, preferentially write out full stripes first
         if there are any.
      Signed-off-by: NKent Overstreet <koverstreet@google.com>
      72c27061
    • K
      bcache: Track dirty data by stripe · 279afbad
      Kent Overstreet 提交于
      To make background writeback aware of raid5/6 stripes, we first need to
      track the amount of dirty data within each stripe - we do this by
      breaking up the existing sectors_dirty into per stripe atomic_ts
      Signed-off-by: NKent Overstreet <koverstreet@google.com>
      279afbad
    • K
      bcache: Fix/revamp tracepoints · c37511b8
      Kent Overstreet 提交于
      The tracepoints were reworked to be more sensible, and fixed a null
      pointer deref in one of the tracepoints.
      
      Converted some of the pr_debug()s to tracepoints - this is partly a
      performance optimization; it used to be that with DEBUG or
      CONFIG_DYNAMIC_DEBUG pr_debug() was an empty macro; but at some point it
      was changed to an empty inline function.
      
      Some of the pr_debug() statements had rather expensive function calls as
      part of the arguments, so this code was getting run unnecessarily even
      on non debug kernels - in some fast paths, too.
      Signed-off-by: NKent Overstreet <koverstreet@google.com>
      c37511b8
  8. 21 4月, 2013 1 次提交
  9. 29 3月, 2013 1 次提交
  10. 26 3月, 2013 1 次提交
  11. 24 3月, 2013 1 次提交