diff options
author | Kent Overstreet | 2014-03-18 02:22:34 +0100 |
---|---|---|
committer | Kent Overstreet | 2014-03-18 20:23:34 +0100 |
commit | 05335cff9f01555b769ac97b7bacc472b7ed047a (patch) | |
tree | 58e0a080e662b4b932a8b7bc678b5ed882a2d382 /fs/nfsd/vfs.h | |
parent | bcache: Add a real GC_MARK_RECLAIMABLE (diff) | |
download | kernel-qcow2-linux-05335cff9f01555b769ac97b7bacc472b7ed047a.tar.gz kernel-qcow2-linux-05335cff9f01555b769ac97b7bacc472b7ed047a.tar.xz kernel-qcow2-linux-05335cff9f01555b769ac97b7bacc472b7ed047a.zip |
bcache: Fix a race when freeing btree nodes
This isn't a bulletproof fix; btree_node_free() -> bch_bucket_free() puts the
bucket on the unused freelist, where it can be reused right away without any
ordering requirements. It would be better to wait on at least a journal write to
go down before reusing the bucket. bch_btree_set_root() does this, and inserting
into non leaf nodes is completely synchronous so we should be ok, but future
patches are just going to get rid of the unused freelist - it was needed in the
past for various reasons but shouldn't be anymore.
Signed-off-by: Kent Overstreet <kmo@daterainc.com>
Diffstat (limited to 'fs/nfsd/vfs.h')
0 files changed, 0 insertions, 0 deletions