diff options
author | Kent Overstreet <kmo@daterainc.com> | 2013-12-17 02:12:09 +0400 |
---|---|---|
committer | Kent Overstreet <kmo@daterainc.com> | 2013-12-17 02:22:58 +0400 |
commit | 6d3d1a9c542b19dff1c7d7c8354d0869e4655287 (patch) | |
tree | 92afafc81797f8ad6ed2548e25f9818f7f67a8d4 /drivers/md/bcache/bcache.h | |
parent | bf0a628a95dba7f983b6047cea695fb066fb2512 (diff) | |
download | linux-6d3d1a9c542b19dff1c7d7c8354d0869e4655287.tar.xz |
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/md/bcache/bcache.h')
0 files changed, 0 insertions, 0 deletions