summaryrefslogtreecommitdiff
path: root/fs
AgeCommit message (Collapse)Author
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
2019-04-03bcachefs: kill struct bch_replicas_cpu_entryKent Overstreet
2019-04-03bcachefs: add functionality for heaps to update backpointersKent Overstreet
2019-04-03bcachefs: btree gc refactoringKent Overstreet
prep work for erasure coding
2019-04-03bcachefs: BCH_EXTENT_ENTRY_TYPES()Kent Overstreet
2019-04-03bcachefs: bch2_extent_ptr_decoded_append()Kent Overstreet
2019-04-03bcachefs: bch2_extent_drop_ptrs()Kent Overstreet
2019-04-03bcachefs: extent_for_each_ptr_decode()Kent Overstreet
2019-04-03bcachefs: kill bch_extent_crc_typeKent Overstreet
2019-04-03bcachefs: extent_ptr_decodedKent Overstreet
2019-04-03bcachefs: fix missing includeKent Overstreet
2019-04-03bcachefs: fix a spurious gcc warningKent Overstreet
2019-04-03bcachefs: Allocation code refactoringKent Overstreet
bch2_alloc_sectors_start() was a nightmare to work with - it's got some tricky stuff to do, since it wants to use the buckets the writepoint already has, unless they're not in the target it wants to write to, unless it can't allocate from any other devices in which case it will use those buckets if it has to - et cetera. This restructures the code to start with a new empty list of open buckets we're going to use for the new allocation, pulling buckets from the write point's list as we decide that we really are going to use them - making the code somewhat more functional and drastically easier to understand. Also fixes a bug where we could end up waiting on c->freelist_wait (because allocating from one device failed) but return success from bch2_bucket_alloc(), because allocating from a different device succeeded. Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2019-04-03bcachefs: Split out alloc_background.cKent Overstreet