linux/drivers/md/bcache
Kent Overstreet 6d3d1a9c54 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>
2013-12-16 14:22:58 -08:00
..
alloc.c bcache: bugfix - moving_gc now moves only correct buckets 2013-12-16 14:22:58 -08:00
bcache.h bcache: bugfix - moving_gc now moves only correct buckets 2013-12-16 14:22:58 -08:00
bset.c bcache: Delete some slower inline asm 2013-11-10 21:56:42 -08:00
bset.h bcache: Kill bch_next_recurse_key() 2013-11-10 21:56:39 -08:00
btree.c bcache: fix for gc and writeback race 2013-12-16 14:22:58 -08:00
btree.h bcache: Avoid deadlocking in garbage collection 2013-11-10 21:56:38 -08:00
closure.c bcache: Drop some closure stuff 2013-11-10 21:56:10 -08:00
closure.h bcache: Drop some closure stuff 2013-11-10 21:56:10 -08:00
debug.c bcache: Bypass torture test 2013-11-10 21:56:43 -08:00
debug.h bcache: Bypass torture test 2013-11-10 21:56:43 -08:00
io.c bcache: Use standard utility code 2013-07-01 14:43:53 -07:00
journal.c bcache: Pull on disk data structures out into a separate header 2013-11-10 21:56:33 -08:00
journal.h bcache: Pull on disk data structures out into a separate header 2013-11-10 21:56:33 -08:00
Kconfig bcache: Debug code improvements 2013-11-10 21:56:34 -08:00
Makefile
movinggc.c bcache: bugfix for race between moving_gc and bucket_invalidate 2013-12-16 14:22:58 -08:00
request.c bcache: Bypass torture test 2013-11-10 21:56:43 -08:00
request.h bcache: Move sector allocator to alloc.c 2013-11-10 21:56:32 -08:00
stats.c bcache: Break up struct search 2013-11-10 21:56:32 -08:00
stats.h bcache: Break up struct search 2013-11-10 21:56:32 -08:00
super.c bcache: Fix for can_attach_cache() 2013-12-16 14:22:57 -08:00
sysfs.c bcache: Bypass torture test 2013-11-10 21:56:43 -08:00
sysfs.h bcache: Don't export utility code, prefix with bch_ 2013-03-28 12:50:55 -06:00
trace.c bcache: Break up struct search 2013-11-10 21:56:32 -08:00
util.c bcache: Move spinlock into struct time_stats 2013-11-10 21:56:40 -08:00
util.h bcache: Fix heap_peek() macro 2013-12-16 14:22:57 -08:00
writeback.c bcache: Use uninterruptible sleep in writeback 2013-12-16 14:04:57 -08:00
writeback.h bcache: Fix sysfs splat on shutdown with flash only devs 2013-11-10 21:56:41 -08:00