AgeCommit message (Collapse)Author
2016-09-25transactional fcollapsebcache-transactionsKent Overstreet
2016-09-25fooKent Overstreet
2016-09-25bcachefs: implement i_generationKent Overstreet
2016-09-25bcachefs: inode optional fieldsKent Overstreet
2016-09-25bcache: transactionsKent Overstreet
2016-09-23bcache: fix a lost wakeupKent Overstreet
the way bch_next_cache() was using buckets_free_cache() was racy
2016-09-23bcachefs: fs-gc, fsck improvementsKent Overstreet
Make some checks tighter
2016-09-23bcache: fix bch_btree_iter_advance_pos()Kent Overstreet
iter->k doesn't get updated when bch_btree_iter_peek() returns null
2016-09-23genradix: add an iteratorKent Overstreet
2016-09-23genradix: fix genradix_ptr()Kent Overstreet
2016-09-23bcachefs: update i_nlink synchronouslyKent Overstreet
Fixes a bug uncovered by the previous patch
2016-09-23bcache: add flag to superblock indicating if we shutdown cleanlyKent Overstreet
2016-09-23bcache: fix ordering of index updates after unclean shutdownKent Overstreet
the journal sequence number blacklist machinery doesn't work if we don't actually hit all the btree nodes before starting journal replay...
2016-09-21bcache: fix an ordering issue in btree_interior_update codeKent Overstreet
Also a bunch of refactoring
2016-09-19bcache: add bch_journal_pin_add_if_older()Kent Overstreet
also uninline the journal pin stuff, there's enough callers (or will be soon) that it shouldn't be inlined.
2016-09-19bcachefs: Slightly improved writeback ratelimitingKent Overstreet
Change it to avoid sleeping with pages locked
2016-09-19mm: Real pagecache iteratorsKent Overstreet
Introduce for_each_pagecache_page() and related macros, with the goal of replacing most/all uses of pagevec_lookup(). For the most part this shouldn't be a functional change. The one functional difference with the new macros is that they now take an @end parameter, so we're able to avoid grabbing pages in __find_get_pages() that we'll never use. This patch only does some of the conversions, the ones I was able to easily test myself - the conversions are mechanical but tricky enough they generally warrent testing. Signed-off-by: Kent Overstreet <> Cc: Andrew Morton <> Cc: Al Viro <>
2016-09-19mm: Refactor find_get_pages() & friendsKent Overstreet
Collapse redundant implementations of various gang pagecache lookup - this is also prep work for pagecache iterators, in the next patch. This gives us a single common interface (__find_get_pages()) that the pagecache iterator will make use of. Signed-off-by: Kent Overstreet <> Cc: Al Viro <>
2016-09-19Revert "bcache: fix 64 bit crc truncation"Kent Overstreet
This reverts commit 58e239ee3991422245ececa1e4ca541d83da2438. turned out to break crc32c for metadata, too...
2016-09-18bcachefs: hacky writeback ratelimitingKent Overstreet
Prevent writeback from queueing up tons and tons of writes and pinning all available memory. Probably going to improve this later, would be better to avoid sleeping with pages locked and the amount to queue shouldn't be hardcoded, but this should be a significant improvement for now.
2016-09-18bcache: make bkey_unpack() a bit fasterKent Overstreet
2016-09-17bcache: fix sha1 usageKent Overstreet
Ugly, but sha1 is going away in the next on disk format change
2016-09-16bcache: Fix a use after free in the gzip codeKent Overstreet
the zlib api is hateful
2016-09-15bcache: fix 64 bit crc truncationKent Overstreet
Note: this is effectively an on disk format change, but it turns out crc64 for data checksums was just broken before.
2016-09-15bcache: more error messages in fs-gcKent Overstreet
2016-09-12bcache: improve compression memory allocationKent Overstreet
use vmalloc() for the zlib workspace, so as to avoid memory allocation failures on mount
2016-09-12bcache: use __GFP_NOWARN for __bounce_alloc()Kent Overstreet
We have a mempool fallback for this, so no need to warn
2016-09-11bcache: new extent csum accessorsKent Overstreet
2016-09-09bcache: write superblock with FUAKent Overstreet
will at least make torn superblock writes less likely
2016-09-09bcache: Add a mount option to skip fsck during mountKent Overstreet
2016-09-08bcache: bch_write_op_init() cleanupsKent Overstreet
2016-09-08bcache: don't migrate same extent twice in same passKent Overstreet
With extent merging, we could end up migrating an extent that contains as a subset an extent we just saw and decided to migrate - which breaks with the new migration code.
2016-09-08bcache: hack to deal with multiple promote operations racingKent Overstreet
2016-09-08bcache: fix tiering ratelimitingKent Overstreet
2016-09-08bcache: convert promote to new migrate pathKent Overstreet
2016-09-08bcache: replace bch_extent_cmpxchg() for migrateKent Overstreet
2016-09-08bcache: fix copygc + replicationKent Overstreet
2016-09-08bcache: plumb nr_replicas through disk_reservationsKent Overstreet
2016-09-08bcache: fix extent_sort_ptrs()Kent Overstreet
2016-09-08bcache: refactor some extent crc code a bitKent Overstreet
2016-09-08bcache: don't walk nodes without pointers unnecessarily in gcKent Overstreet
Will help mount times.
2016-09-08bcache: add printks for different phases of recoveryKent Overstreet
use mount -o verbose_recovery to enable
2016-09-07bcache: fix lost wakeup in allocation codeKent Overstreet
2016-09-06bcache: fix validate_cache_super() callKent Overstreet
2016-08-27bcache: bch_extent refactoringKent Overstreet
improve the casts to/from bch_extent_entry, this caught a few const correctness things
2016-08-27bcache: move type_is() to util.hKent Overstreet
2016-08-27bcache: fix some issues with journal seq blacklistingKent Overstreet
- the journalling change that increased pipelining meant it was possible for a particular btree node to have bsets with two different blacklisted sequence numbers - existing code didn't handle that at all - the blacklisted seq flush code wasn't correctly waiting for nodes to be rewritten - the way the code kept track of which btree nodes had bsets with a blacklisted sequence number and needed to be rewritten meant that they were pinned in memory - asking for deadlocks all fixed
2016-08-27bcache: rename async_split -> btree_interior_updateKent Overstreet
& refactoring
2016-08-26bcache: delete an incorrect assertionKent Overstreet
believe this was also made obsolete by the journal pipelining changes, but not quite sure wtf I was thinking when I wrote that. Also refactor a bit.
2016-08-25bcache: select COMPACTION if bcache is enabledKent Overstreet
bcache does high order page allocations and registering/mounting will often not work if compaction isn't enabled, this trips too many people up