Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-04-03 | bcachefs: move dirty into bucket_mark | Kent Overstreet | |
2019-04-03 | bcachefs: Add new alloc fields | Kent Overstreet | |
prep work for persistent alloc info | |||
2019-04-03 | bcachefs: Deferred btree updates | Kent Overstreet | |
Will be used in the future for inode updates, which will be very helpful for multithreaded workloads that have to update the inode with every extent update (appends, or updates that change i_sectors) Also will be used eventually for fully persistent alloc info However - we still need a mechanism for reserving space in the journal prior to getting a journal reservation, so it's not technically safe to make use of this just yet, we could deadlock with the journal full (although not likely to be an issue in practice) | |||
2019-04-03 | bcachefs: drop bogus percpu_ref_tryget | Kent Overstreet | |
caller should already be guarding against rw, and checking here breaks when caller needs to finish updates for going RO | |||
2019-04-03 | bcachefs: Track nr_inodes with the key marking machinery | Kent Overstreet | |
2019-04-03 | bcachefs: Make bkey types globally unique | Kent Overstreet | |
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. | |||
2019-04-03 | bcachefs: Fix a btree iter usage error | Kent Overstreet | |
previously, if the code traversed to the next btree node, that could return an error (due to lock restarts) - which was not being checked for. fix is to rework it so it never iterates past the current leaf node, and pops an assertion if it ever sees an error. | |||
2019-04-03 | bcachefs: split out bkey_sort.c | Kent Overstreet | |
2019-04-03 | bcachefs: fix waiting on an open journal entry | Kent Overstreet | |
2019-04-03 | bcachefs: return errors correctly from gc | Kent Overstreet | |
2019-04-03 | bcachefs: Hold usage_lock over mark_key and fs_usage_apply | Kent Overstreet | |
Fixes an inconsistency at the end of gc | |||
2019-04-03 | bcachefs: drop a faulty assertion | Kent Overstreet | |
assertion meant to check that no linked iterators had the node locked, but other threads could be holdinga read lock | |||
2019-04-03 | bcachefs: Stripes now properly subject to gc | Kent Overstreet | |
gc now verifies the contents of the stripes radix tree, important for persistent alloc info | |||
2019-04-03 | bcachefs: Btree locking fix, refactoring | Kent Overstreet | |
Hit an assertion, probably spurious, indicating an iterator was unlocked when it shouldn't have been (spurious because it wasn't locked at all when the caller called btree_insert_at()). Add a flag, BTREE_ITER_NOUNLOCK, and tighten up the assertions | |||
2019-04-03 | bcachefs: shim for userspace raid library | Kent Overstreet | |
2019-04-03 | Revert "bcachefs: start erasure coding after journal replay" | Kent Overstreet | |
This reverts commit 36f389604294dfc953e6f5624ceb683818d32f28. | |||
2019-04-03 | bcachefs: Select required config opts for erasure coding | Kent Overstreet | |
2019-04-03 | bcachefs: Allow for new alloc fields | Kent Overstreet | |
2019-04-03 | bcachefs: gc now operates on second set of bucket marks | Kent Overstreet | |
This means we can now use gc to verify the allocation information - important for testing persistant alloc info | |||
2019-04-03 | bcachefs: fix mempool double initialization | Kent Overstreet | |
2019-04-03 | bcachefs: fix btree iterator bug when using depth > 0 | Kent Overstreet | |
2019-04-03 | bcachefs: Allocator startup improvements | Kent Overstreet | |
2019-04-03 | bcachefs: Journal refactoring | Kent Overstreet | |
2019-04-03 | bcachefs: Don't block on journal reservation with btree locks held | Kent Overstreet | |
Fixes a deadlock between the allocator thread, when it first starts up, and journal replay | |||
2019-04-03 | bcachefs: start erasure coding after journal replay | Kent Overstreet | |
2019-04-03 | bcachefs: Clean up, possixly fix page disk reservation accounting | Kent Overstreet | |
2019-04-03 | bcachefs: Fix an error path | Kent Overstreet | |
2019-04-03 | bcachefs: fix typo when picking read method | Kent Overstreet | |
2019-04-03 | bcachefs: Erasure coding | Kent Overstreet | |
2019-04-03 | bcachefs: More btree gc refactorings | Kent Overstreet | |
more prep work for erasure coding | |||
2019-04-03 | bcachefs: Centralize marking of replicas in btree update path | Kent Overstreet | |
2019-04-03 | bcachefs: Move key marking out of extents.c | Kent Overstreet | |
2019-04-03 | bcachefs: stripe support for replicas tracking | Kent Overstreet | |
2019-04-03 | bcachefs: Check for unsupported features | Kent Overstreet | |
2019-04-03 | bcachefs: revamp to_text methods | Kent Overstreet | |
2019-04-03 | bcachefs: delete some dead code | Kent Overstreet | |
2019-04-03 | bcachefs: fix a replicas bug | Kent Overstreet | |
2019-04-03 | Set the last mount time using the realtime clock | Tim Schlueter | |
This way the last mount time is actually meaningful instead of just being various times from 1970 (which happens with the monotonic clock). Also, roundup_pow_of_two() is undefined when passed in 0, so check before calling it. | |||
2019-04-03 | bcachefs: Disk usage in compressed sectors, not uncompressed | Kent Overstreet | |
2019-04-03 | bcachefs: Assorted fixes for running on very small devices | Kent Overstreet | |
It's now possible to create and use a filesystem on a 512k device with 4k buckets (though at that size we still waste almost half to internal reserves) | |||
2019-04-03 | bcachefs: Scale down number of writepoints when low on space | Kent Overstreet | |
this means we don't have to reserve space for them when calculating filesystem capacity | |||
2019-04-03 | bcachefs: Fix an assertion when rebuilding replicas | Kent Overstreet | |
2019-04-03 | bcachefs: Rename nofsck opt to fsck | Kent Overstreet | |
2019-04-03 | bcachefs: Fix journal replay when replicas sb section missing | Kent Overstreet | |
2019-04-03 | bcachefs: fix bounds checks in bch2_bio_map() | Kent Overstreet | |
2019-04-03 | bcachefs: Some fixes for building in userspace | Kent Overstreet | |
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. | |||
2019-04-03 | bcachefs: fix bch2_bkey_print_bfloat | Kent Overstreet | |
was popping an assertion in the eytzinger code | |||
2019-04-03 | bcachefs: new avoid mechanism for io retries | Kent Overstreet | |
2019-04-03 | bcachefs: more key marking refactoring | Kent Overstreet | |
prep work for erasure coding | |||
2019-04-03 | bcachefs: replicas: prep work for stripes | Kent Overstreet | |