summaryrefslogtreecommitdiff
path: root/fs
AgeCommit message (Collapse)Author
2018-08-21bcachefs: Prioritize fragmentation in bucket allocatorKent Overstreet
2018-08-12bcachefs: pass around bset_tree lessKent Overstreet
2018-08-12bcachefs: kill extent_insert_hookKent Overstreet
2018-08-12bcachefs: kill i_sectors_hookKent Overstreet
2018-08-12bcachefs: convert fcollapse to bch2_extent_update()Kent Overstreet
2018-08-12bcachefs: convert fpunch to bch2_extent_update()Kent Overstreet
2018-08-12bcachefs: convert truncate to bch2_extent_update()Kent Overstreet
2018-08-12bcachefs: convert bchfs_write_index_update() to bch2_extent_update()Kent Overstreet
2018-08-12bcachefs: bch2_extent_trim_atomic()Kent Overstreet
Prep work for extents insert hook removal
2018-08-12bcachefs: mempoolify btree_transKent Overstreet
2018-08-12bcachefs: Fix build when CONFIG_BCACHEFS_DEBUG=nKent Overstreet
2018-08-12bcachefs: BTREE_INSERT_JOURNAL_RES_FULL is no longer possibleKent Overstreet
2018-08-12bcachefs: extent_squash() can no longer failKent Overstreet
2018-08-12bcachefs: make struct btree_iter a bit smallerKent Overstreet
2018-08-12bcachefs: 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>
2018-08-12bcachefs: extent unit testsKent Overstreet
2018-08-12bcachefs: bkey_written()Kent Overstreet
also cleanups of btree node offsets
2018-08-12bcachefs: improved rw_aux_tree_bsearch()Kent Overstreet
shouldn't be any reason for an actual binary search here
2018-08-12bcachefs: 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.
2018-08-12bcachefs: 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>
2018-08-12bcachefs: Better calculation of copygc thresholdKent Overstreet
2018-08-12bcachefs: 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.
2018-08-12bcachefs: Account for internal fragmentation betterKent Overstreet
2018-08-12bcachefs: kill s_alloc, use bch_data_typeKent Overstreet
2018-08-12bcachefs: bch2_mark_key() now takes bch_data_typeKent Overstreet
2018-08-12bcachefs: Fix an assertion in the btree node merge pathKent Overstreet
2018-08-12bcachefs: 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>
2018-08-12bcachefs: fix bch2_val_to_text()Kent Overstreet
was returning wrong value
2018-08-12bcachefs: minor fsync fixKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2018-08-12bcachefs: 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>
2018-08-12bcachefs: fix last_seq_ondiskKent Overstreet
2018-08-12bcachefs: fix mtime/ctime update on truncateKent Overstreet
2018-08-12bcachefs: fix fsync after createKent Overstreet
2018-08-12bcachefs: fix nbuckets usage on device resizeKent Overstreet
2018-08-12bcachefs: 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.
2018-08-12bcachefs: kill bucket mark sector count saturationKent Overstreet
2018-08-12bcachefs: 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>
2018-08-12bcachefs: Fix an assertionKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2018-08-12bcachefs: fix rename + fsyncKent Overstreet
2018-08-12bcachefs: 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>
2018-08-12bcachefs: bch2_trans_update() now takes struct btree_insert_entryKent Overstreet
2018-08-12bcachefs: Fix mtime/ctime updatesKent Overstreet
Also make inode flags consistent with how the rest of the inode is updated Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2018-08-12bcachefs: Simplify bch2_write_inode_trans, fix lockdep splatKent Overstreet
ei_update_lock isn't currently needed for write inode (but it will be needed again when deferred btree updates are used for inode updates) Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2018-08-12bcachefs: add bch_verbose() statements for shutdownKent Overstreet
2018-08-12bcachefs: Fix a use after free in the journal codeKent Overstreet
2018-08-12bcachefs: Fix device addKent Overstreet
2018-08-12bcachefs: trace transaction restartsKent Overstreet
exceptionally crappy "tracing", but it's a start at documenting the places restarts can be triggered Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2018-08-12bcachefs: Convert raw uses of bch2_btree_iter_link() to new transactionsKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2018-08-12bcachefs: Only check inode i_nlink during full fsckKent Overstreet
Now that all filesystem operatinos that manipulate the filesystem heirachy and i_nlink are fully atomic, we can add a feature bit to indicate i_nlink doesn't need to be checked. Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2018-08-12bcachefs: Convert bch2_symlink to new transactionsKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>