Age | Commit message (Collapse) | Author |
|
Now, we store blacklisted journal sequence numbers in the superblock,
not the journal: this helps to greatly simplify the code, and more
importantly it's now implemented in a way that doesn't require all btree
nodes to be visited before starting the journal - instead, we
unconditionally blacklist the next 4 journal sequence numbers after an
unclean shutdown.
|
|
|
|
|
|
|
|
this lets us get rid of a lot of extra switch statements - in a lot of
places we dispatch on the btree node type, and then the key type, so
this is a nice cleanup across a lot of code.
Also improve the on disk format versioning stuff.
|
|
|
|
|
|
userspace allocators don't align allocations as nicely as kernel
allocators, which meant that in some cases we weren't allocating big
enough bvec arrays - just make the calculations more rigorous and
explicit to fix it.
|
|
|
|
|
|
|
|
|
|
|
|
This lifts the restriction that 0 size extents must not overlap with
other extents, which means we can now sort extents and non extents the
same way, and will let us simplify a bunch of other stuff as well.
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
|
|
also cleanups of btree node offsets
|
|
There was a missing set_btree_bset_end() call, leading to popped
assertions later. Also add a quick and dirty debug option for injecting
invalid keys.
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
|
|
also factor out bch2_btree_iter_checks()
|
|
also fix some dirent bugs
|
|
Fork of drivers/md/bcache
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
|