summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-04-03bcachefs: move dirty into bucket_markKent Overstreet
2019-04-03bcachefs: Add new alloc fieldsKent Overstreet
prep work for persistent alloc info
2019-04-03bcachefs: Deferred btree updatesKent 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-03bcachefs: drop bogus percpu_ref_trygetKent Overstreet
caller should already be guarding against rw, and checking here breaks when caller needs to finish updates for going RO
2019-04-03bcachefs: Track nr_inodes with the key marking machineryKent Overstreet
2019-04-03bcachefs: Make bkey types globally uniqueKent 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-03bcachefs: Fix a btree iter usage errorKent 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-03bcachefs: split out bkey_sort.cKent Overstreet
2019-04-03bcachefs: fix waiting on an open journal entryKent Overstreet
2019-04-03bcachefs: return errors correctly from gcKent Overstreet
2019-04-03bcachefs: Hold usage_lock over mark_key and fs_usage_applyKent Overstreet
Fixes an inconsistency at the end of gc
2019-04-03bcachefs: drop a faulty assertionKent Overstreet
assertion meant to check that no linked iterators had the node locked, but other threads could be holdinga read lock
2019-04-03bcachefs: Stripes now properly subject to gcKent Overstreet
gc now verifies the contents of the stripes radix tree, important for persistent alloc info
2019-04-03bcachefs: Btree locking fix, refactoringKent 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-03bcachefs: shim for userspace raid libraryKent Overstreet
2019-04-03Revert "bcachefs: start erasure coding after journal replay"Kent Overstreet
This reverts commit 36f389604294dfc953e6f5624ceb683818d32f28.
2019-04-03bcachefs: Select required config opts for erasure codingKent Overstreet
2019-04-03bcachefs: Allow for new alloc fieldsKent Overstreet
2019-04-03bcachefs: gc now operates on second set of bucket marksKent Overstreet
This means we can now use gc to verify the allocation information - important for testing persistant alloc info
2019-04-03bcachefs: fix mempool double initializationKent Overstreet
2019-04-03bcachefs: fix btree iterator bug when using depth > 0Kent Overstreet
2019-04-03bcachefs: Allocator startup improvementsKent Overstreet
2019-04-03bcachefs: Journal refactoringKent Overstreet
2019-04-03bcachefs: Don't block on journal reservation with btree locks heldKent Overstreet
Fixes a deadlock between the allocator thread, when it first starts up, and journal replay
2019-04-03bcachefs: start erasure coding after journal replayKent Overstreet
2019-04-03bcachefs: Clean up, possixly fix page disk reservation accountingKent Overstreet
2019-04-03bcachefs: Fix an error pathKent Overstreet
2019-04-03bcachefs: fix typo when picking read methodKent Overstreet
2019-04-03bcachefs: Erasure codingKent Overstreet
2019-04-03bcachefs: More btree gc refactoringsKent Overstreet
more prep work for erasure coding
2019-04-03bcachefs: Centralize marking of replicas in btree update pathKent Overstreet
2019-04-03bcachefs: Move key marking out of extents.cKent Overstreet
2019-04-03bcachefs: stripe support for replicas trackingKent Overstreet
2019-04-03bcachefs: Check for unsupported featuresKent Overstreet
2019-04-03bcachefs: revamp to_text methodsKent Overstreet
2019-04-03bcachefs: delete some dead codeKent Overstreet
2019-04-03bcachefs: fix a replicas bugKent Overstreet
2019-04-03Set the last mount time using the realtime clockTim 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-03bcachefs: Disk usage in compressed sectors, not uncompressedKent Overstreet
2019-04-03bcachefs: Assorted fixes for running on very small devicesKent 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-03bcachefs: Scale down number of writepoints when low on spaceKent Overstreet
this means we don't have to reserve space for them when calculating filesystem capacity
2019-04-03bcachefs: Fix an assertion when rebuilding replicasKent Overstreet
2019-04-03bcachefs: Rename nofsck opt to fsckKent Overstreet
2019-04-03bcachefs: Fix journal replay when replicas sb section missingKent Overstreet
2019-04-03bcachefs: fix bounds checks in bch2_bio_map()Kent Overstreet
2019-04-03bcachefs: Some fixes for building in userspaceKent 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-03bcachefs: fix bch2_bkey_print_bfloatKent Overstreet
was popping an assertion in the eytzinger code
2019-04-03bcachefs: new avoid mechanism for io retriesKent Overstreet
2019-04-03bcachefs: more key marking refactoringKent Overstreet
prep work for erasure coding
2019-04-03bcachefs: replicas: prep work for stripesKent Overstreet