summaryrefslogtreecommitdiff
path: root/fs
AgeCommit message (Collapse)Author
2019-04-03bcachefs: Fix failure to suspendKent Overstreet
2019-04-03bcachefs: Fix suspend when moving data faster than ratelimitKent Overstreet
2019-04-03bcachefs: fix bch2_acl_chmod()Kent Overstreet
2019-04-03bcachefs: Fix a deadlockKent Overstreet
2019-04-03bcachefs: fix a divideKent Overstreet
2019-04-03bcachefs: make fsck spew lessKent Overstreet
2019-04-03bcachefs: don't select COMPACTIONKent Overstreet
2019-04-03bcachefs: Dirent repair codeKent Overstreet
There was a bug for awhile in previous kernels where we weren't computing dirent name lengths correctly and we weren't zeroing out padding at the end of dirents (due to struct bch_dirent changing size by adding __attribute__((aligned)), and not updating other code to use offsetof). This patch fixes dirents with junk at the end, by going off of the dirent's hash. Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2019-04-03bcachefs: Fix a btree iter bug when iter pos == POS_MAXKent Overstreet
2019-04-03bcachefs: Comparison function cleanupsKent Overstreet
2019-04-03bcachefs: Prioritize fragmentation in bucket allocatorKent Overstreet
2019-04-03bcachefs: pass around bset_tree lessKent Overstreet
2019-04-03bcachefs: kill extent_insert_hookKent Overstreet
2019-04-03bcachefs: kill i_sectors_hookKent Overstreet
2019-04-03bcachefs: convert fcollapse to bch2_extent_update()Kent Overstreet
2019-04-03bcachefs: convert fpunch to bch2_extent_update()Kent Overstreet
2019-04-03bcachefs: convert truncate to bch2_extent_update()Kent Overstreet
2019-04-03bcachefs: convert bchfs_write_index_update() to bch2_extent_update()Kent Overstreet
2019-04-03bcachefs: bch2_extent_trim_atomic()Kent Overstreet
Prep work for extents insert hook removal
2019-04-03bcachefs: mempoolify btree_transKent Overstreet
2019-04-03bcachefs: Fix build when CONFIG_BCACHEFS_DEBUG=nKent Overstreet
2019-04-03bcachefs: BTREE_INSERT_JOURNAL_RES_FULL is no longer possibleKent Overstreet
2019-04-03bcachefs: extent_squash() can no longer failKent Overstreet
2019-04-03bcachefs: make struct btree_iter a bit smallerKent Overstreet
2019-04-03bcachefs: lift ordering restriction on 0 size extentsKent Overstreet
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>
2019-04-03bcachefs: extent unit testsKent Overstreet
2019-04-03bcachefs: bkey_written()Kent Overstreet
also cleanups of btree node offsets
2019-04-03bcachefs: improved rw_aux_tree_bsearch()Kent Overstreet
shouldn't be any reason for an actual binary search here
2019-04-03bcachefs: Factor out btree_key_can_insert()Kent Overstreet
working on getting rid of all the reasons bch2_insert_fixup_extent() can fail/stop partway, which is needed for other refactorings. One of the reasons we could have to bail out is if we're splitting a compressed extent we might need to add to our disk reservation - but we can check that before actually starting the insert.
2019-04-03bcachefs: BCH_SB_RESERVE_BYTESKent Overstreet
Add an option, gc_reserve_bytes, to set the copygc reserve as a size instead of a percent Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2019-04-03bcachefs: Better calculation of copygc thresholdKent Overstreet
2019-04-03bcachefs: Change how replicated data is accountedKent Overstreet
Due to compression, the different replicas of a replicated extent don't necessarily have to take up the same amount of space - so replicated data sector counts shouldn't be stored divided by the number of replicas.
2019-04-03bcachefs: Account for internal fragmentation betterKent Overstreet
2019-04-03bcachefs: kill s_alloc, use bch_data_typeKent Overstreet
2019-04-03bcachefs: bch2_mark_key() now takes bch_data_typeKent Overstreet
2019-04-03bcachefs: Fix an assertion in the btree node merge pathKent Overstreet
2019-04-03bcachefs: Fix locking in allocator threadKent Overstreet
gc lock must be held while invalidating buckets - fixes "1f7a95698e bcachefs: Invalidate buckets when writing to alloc btree" Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2019-04-03bcachefs: fix bch2_val_to_text()Kent Overstreet
was returning wrong value
2019-04-03bcachefs: minor fsync fixKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2019-04-03bcachefs: Assorted journal refactoringKent Overstreet
Also improve error reporting - only return an error from bch2_journal_flush_seq() if we had an error writing that entry (i.e. not if there was an error with a newer entry). Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2019-04-03bcachefs: fix last_seq_ondiskKent Overstreet
2019-04-03bcachefs: fix mtime/ctime update on truncateKent Overstreet
2019-04-03bcachefs: fix fsync after createKent Overstreet
2019-04-03bcachefs: fix nbuckets usage on device resizeKent Overstreet
2019-04-03bcachefs: Invalidate buckets when writing to alloc btreeKent Overstreet
Prep work for persistent alloc information. Refactoring also lets us make free_inc much smaller, which means a lot fewer buckets stranded on freelists.
2019-04-03bcachefs: kill bucket mark sector count saturationKent Overstreet
2019-04-03bcachefs: don't call bch2_bucket_seq_cleanup from journal_buf_switchKent Overstreet
journal_buf_switch is called from the foreground when getting a journal reservation and thus is somewhat latency sensitive; bch2_bucket_seq_cleanup has to run infrequently but is a bit expensive when it does run. Call it from the journal write path instead, and punt the journal write to worqueue context. Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2019-04-03bcachefs: Fix an assertionKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2019-04-03bcachefs: fix rename + fsyncKent Overstreet
2019-04-03bcachefs: Use ei_update_lock consistentlyKent Overstreet
This is prep work for using deferred btree updates for inode updates - the way inodes are done now we're relying on btree locking for ei_inode and ei_update_lock could probably be removed, but it'll actually be needed when we switch to deferred updates. Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>