diff options
author | Kent Overstreet <kmo@daterainc.com> | 2013-12-16 23:12:09 +0100 |
---|---|---|
committer | Kent Overstreet <kmo@daterainc.com> | 2013-12-16 23:22:58 +0100 |
commit | 6d3d1a9c542b19dff1c7d7c8354d0869e4655287 (patch) | |
tree | 92afafc81797f8ad6ed2548e25f9818f7f67a8d4 /drivers/hv/vmbus_drv.c | |
parent | bcache: fix for gc and writeback race (diff) | |
download | linux-6d3d1a9c542b19dff1c7d7c8354d0869e4655287.tar.xz linux-6d3d1a9c542b19dff1c7d7c8354d0869e4655287.zip |
bcache: bugfix for race between moving_gc and bucket_invalidate
There is a possibility for a bucket to be invalidated by the allocator
while moving_gc was copying it's contents to another bucket, if the
bucket only held cached data. To prevent this moving checks for
a stale ptr (to an invalidated bucket), before and after reads.
It it finds one, it simply ignores moving that data. This only
affects bcache if the moving_gc was turned on, note that it's
off by default.
Signed-off-by: Nicholas Swenson <nks@daterainc.com>
Signed-off-by: Kent Overstreet <kmo@daterainc.com>
Diffstat (limited to 'drivers/hv/vmbus_drv.c')
0 files changed, 0 insertions, 0 deletions