1. 16 Dec, 2013 3 commits
    • Kent Overstreet's avatar
      bcache: Fix dirty_data accounting · d24a6e10
      Kent Overstreet authored
      Dirty data accounting wasn't quite right - firstly, we were adding the key we're
      inserting after it could have merged with another dirty key already in the
      btree, and secondly we could sometimes pass the wrong offset to
      bcache_dev_sectors_dirty_add() for dirty data we were overwriting - which is
      important when tracking dirty data by stripe.
      
      NOTE FOR BACKPORTERS: For 3.10 (and 3.11?) there's other accounting fixes
      necessary that got squashed in with other patches; the full patch against 3.10
      is 408cc2f47eeac93a, available at:
        git://evilpiepirate.org/~kent/linux-bcache.git bcache-3.10-writeback-fixes
      Signed-off-by: default avatarKent Overstreet <kmo@daterainc.com>
      Cc: linux-stable <stable@vger.kernel.org> # >= v3.10
      
      diff --git a/drivers/md/bcache/btree.c b/drivers/md/bcache/btree.c
      index 2a46036..4a12b2f 100644
      --- a/drivers/md/bcache/btree.c
      +++ b/drivers/md/bcache/btree.c
      @@ -1817,7 +1817,8 @@ static bool fix_overlapping_extents(struct btree *b, struct bkey *insert,
       			if (KEY_START(k) > KEY_START(insert) + sectors_found)
       				goto check_failed;
      
      -			if (KEY_PTRS(replace_key) != KEY_PTRS(k))
      +			if (KEY_PTRS(k) != KEY_PTRS(replace_key) ||
      +			    KEY_DIRTY(k) != KEY_DIRTY(replace_key))
       				goto check_failed;
      
       			/* skip past gen */
      d24a6e10
    • Kent Overstreet's avatar
      bcache: Use uninterruptible sleep in writeback · ce2b3f59
      Kent Overstreet authored
      We're just waiting on kthread_should_stop(), nothing else, so
      interruptible sleep was wrong here.
      Signed-off-by: default avatarKent Overstreet <kmo@daterainc.com>
      ce2b3f59
    • Stefan Priebe's avatar
      bcache: kthread don't set writeback task to INTERUPTIBLE · f665c0f8
      Stefan Priebe authored
      at the beginning (schedule_timout_interuptible) and others
      do his on their own
      
      This prevents wrong load average calculation (load of 1 per thread)
      Signed-off-by: default avatarKent Overstreet <kmo@daterainc.com>
      f665c0f8
  2. 29 Nov, 2013 1 commit
  3. 11 Nov, 2013 36 commits