summaryrefslogtreecommitdiff
path: root/linux
AgeCommit message (Collapse)Author
2022-03-28Heap code fixKent Overstreet
When deleting an entry from a heap that was at entry h->used - 1, we'd end up calling heap_sift() on an entry outside the heap - the entry we just removed - which would end up re-adding it to the heap and deleting something we didn't want to delete. Oops... Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2022-03-21Shrinker improvementsKent Overstreet
After memory allocation failure, don't rely on /proc/meminfo to figure out how much memory we should free - instead unconditionally free 1/8th of each cache. Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2022-03-21Better bio_alloc_bioset()Kent Overstreet
bio_alloc_bioset() now uses mempools, so we don't segfault on memory allocation failure. Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2022-03-13Update bcachefs sources to e48731a188 bcachefs: Fix ↵Kent Overstreet
BTREE_TRIGGER_WANTS_OLD_AND_NEW
2022-02-13Update bcachefs sources to ba398d2906 bcachefs: Fix reflink repair codeKent Overstreet
2021-11-03Update bcachefs sources to 5fd0c70102 bcachefs: Fix __remove_dirent()Kent Overstreet
2021-10-16Fix 32 bit io regressionBrett Holman
In commit ba1dbafc1fce I reverted 9942fc82d43b, which was a workaround for an upstream 32bit libaio bug. Oops. Signed-off-by: Brett Holman <bholman.devel@gmail.com>
2021-10-10Fall back to synchronous io when kernel doesn't support aio.Brett Holman
Signed-off-by: Brett Holman <bholman.devel@gmail.com>
2021-10-09Correctly print out error from io_setup()Kent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2021-09-22Make aio code use struct io_iocb_common to support 32 bit architecturesBrett Holman
Signed-off-by: Brett Holman <bholman.devel@gmail.com>
2021-07-07Update bcachefs sources to dbee44d5ab bcachefs: add bcachefs xxhash supportKent Overstreet
2021-06-23Update bcachefs sources to ca3cfad39f fixup! bcachefs: Improve ↵Kent Overstreet
iter->should_be_locked
2021-06-13Cleanup Makefile for better compatibility + enable "make debug"jpsollie
- clean up Makefile to improve compiler compatibility - add a "Make debug" target for easier debug builds - update INSTALL - fix six.c when running "make debug" against GCC 9 (maybe-uninitialized) Signed-off by: Janpieter Sollie <janpieter.sollie@edpnet.be>
2021-06-08Update bcachefs sources to e3a7cee503 bcachefs: Don't mark superblocks past ↵Kent Overstreet
end of usable space
2021-06-05Work around build error with gcc <10Justin Husted
linux/six.c: In function ‘__six_lock_type_slowpath’: linux/six.c:73:6: error: ‘old.<U81c8>.v’ may be used uninitialized in this function [-Werror=maybe-uninitialized] Signed-off-by: Justin Husted <sigstop@gmail.com>
2021-05-27Update closures from kernel source treeKent Overstreet
2021-04-30Update bcachefs sources to a5c0e1bb30 bcachefs: Clean up ↵Kent Overstreet
bch2_btree_and_journal_walk()
2021-04-24Add a real mempool implementationKent Overstreet
Imported from the kernel. Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2021-04-04Update bcachefs sources to f26267fc82 bcachefs: kill bset_tree->max_keyKent Overstreet
2021-03-31If we failed to read /proc/meminfo, just run the shrinkers.Kent Overstreet
2021-03-29Update bcachefs sources to 18686af684 bcachefs: Inode backpointersv0.13Kent Overstreet
2021-03-24Update bcachefs sources to ad68801b93 bcachefs: Use pcpu mode of six locks ↵Kent Overstreet
for interior nodes
2021-02-24Don't die in kthread_create()Kent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2021-02-12generix radix trees: Don't overflow in peek()Kent Overstreet
2021-01-12Don't use mlockall()Kent Overstreet
We're hitting -ENOMEM while running fsck - we appear to need memory overcommit, which mlockall() disables.
2020-08-24Update bcachefs sources to 10ab39f2fa bcachefs: Improvements to the journal ↵Kent Overstreet
read error paths
2020-06-15Update bcachefs sources to 4837f82ee1 bcachefs: Use cached iterators for ↵Kent Overstreet
alloc btree
2020-06-03Update bcachefs sources to c9b4a210f9 fixup! bcachefs: Fixes for going ROKent Overstreet
2020-05-14Update bcachefs sources to e1f6739c4a bcachefs: Fix another iterator ↵Kent Overstreet
counting bug
2020-05-05Fix building on muslYuxuan Shui
* Add missing linux/stddef.h includes * Explicitly cast PAGE_SIZE to size_t. PAGE_SIZE is defined without UL suffix in musl * Musl doesn't define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP, so initialize the mutexes with pthread_once.
2019-12-14Increase stack size of userspace threads to 32k.Justin Husted
Certain fuse tests crashed inside of libc calls such as fprintf() with only 16k of stack. Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-12-04Put valgrind support behind CONFIG_VALGRINDKent Overstreet
2019-11-07Make userspace blkdev cleanup code more robust.Justin Husted
The existing cleanup code would silently cancel disk IO requests, if somehow the calling code did not wait for completion. This code now tracks requests and will bug if any are lost. Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-11-07Fix refcount bug in blkdev and timer kthreads.Justin Husted
The shutdown code in d79d57e and b20e160 had a race condition during shutdown, due to not owning a reference on the associated task_struct while the associated threads shut themselves down. Patch over this by taking an appropriate reference. Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-11-03Stop blkdev completion thread at process exit time, to make valgrindJustin Husted
happy. Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-11-03Stop workqueue threads at process exit time, to make valgrind happy.Justin Husted
Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-11-03Stop the timer task at process exit time, to make valgrind happy.Justin Husted
Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-11-03Change preempt_disable() etc. to use a recursive mutex.Justin Husted
This is part of the userspace implementation of the kernel APIs for bcachefs-tools. The previous implementation just provided a barrier, but this isn't sufficient to make the associated percpu implementation safe. Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-10-18Add valgrind handling: data read from io_submit was not being markedJustin Husted
properly. Manually mark it. This might be better done by improving the valgrind wrapper for io_submit.
2019-10-01Update six locksKent Overstreet
2019-09-25Update bcachefs sources to 5a3a4087af bcachefs: Convert a BUG_ON() to a warningKent Overstreet
2019-08-28Update llist codeKent Overstreet
This fixes a bug where the compiler was dropping a null ptr check
2019-07-11Update bcachefs sources to b91a514413 bcachefs: Don't try to delete stripes ↵Kent Overstreet
when RO
2019-04-10fix check for SYS_randomKent Overstreet
2019-04-04Update bcachefs sources to d83b992f65 bcachefs: Rewrite ↵Kent Overstreet
journal_seq_blacklist machinery
2019-01-23Update bcachefs sources to 99750eab4d bcachefs: Persist stripe blocks_usedKent Overstreet
2019-01-14Update bcachefs sources to bcca1c557b bcachefs: fixes for getting stuck ↵Kent Overstreet
flushing journal pins
2019-01-13Update bcachefs sources to ef60854e99 bcachefs: More allocator startup ↵Kent Overstreet
improvements
2019-01-13Use 16k stack sizeKent Overstreet
2019-01-13delete dead codeKent Overstreet