bcache: Fix dirty_data accounting
authorKent Overstreet <kmo@daterainc.com>
Mon, 11 Nov 2013 05:55:27 +0000 (21:55 -0800)
committerKent Overstreet <kmo@daterainc.com>
Mon, 11 Nov 2013 05:55:27 +0000 (21:55 -0800)
commit1fa8455deb92e9ec7756df23030e73b2d28eeca7
tree432564c5f626b36e4cb9f7b8bb5856a251717ab0
parentf7cb20f03dc6dff1b19942cf3dda6d154c86f29b
bcache: Fix dirty_data accounting

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.

Signed-off-by: Kent Overstreet <kmo@daterainc.com>
Cc: linux-stable <stable@vger.kernel.org> # >= v3.10
drivers/md/bcache/btree.c