Kent Overstreet
c1e4d447f6
Update bcachefs sources to 8d3fc97ca3 bcachefs: Fixes for building in userspace
2022-11-13 20:07:22 -05:00
Kent Overstreet
ae43a58d97
Update bcachefs sources to 70fa0c1ff4 fixup! bcachefs: Btree key cache improvements
2022-10-23 18:24:08 -04:00
Kent Overstreet
188b6d0c8e
Update bcachefs sources to cd779e0cc5 bcachefs: Skip inode unpack/pack in bch2_extent_update()
2022-10-22 14:41:54 -04:00
Kent Overstreet
e0a51ccce8
Update bcachefs sources to 3e93567c51 bcachefs: Switch to local_clock() for fastpath time source
2022-10-15 01:04:30 -04:00
Kent Overstreet
0398adf20f
fixup! Don't run shrinkers without GFP_KERNEL
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2022-10-11 03:22:59 -04:00
Kent Overstreet
81aef33957
Don't run shrinkers without GFP_KERNEL
...
This would correspond to GFP_RECLAIM in the kernel - but we don't
distinguish between different types of reclaim here.
This solves a deadlock in the btree node memory allocation path - we
allocate with the btree node cache lock held but without GFP_KERNEL set.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2022-10-11 00:39:06 -04:00
Kent Overstreet
72add8822c
Update bcachefs sources to 47ffed9fad bcachefs: bch2_btree_delete_range_trans() now uses peek_upto()
2022-10-10 00:10:45 -04:00
Kent Overstreet
8d6138baac
Update bcachefs sources to cbccc6d869 bcachefs: Ratelimit ec error message
2022-10-09 02:33:05 -04:00
Kent Overstreet
99caca2c70
Update bcachefs sources to 24c6361e20 bcachefs: Fix a trans path overflow in bch2_btree_delete_range_trans()
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2022-09-28 11:41:03 -04:00
Kent Overstreet
d01f633041
Update bcachefs sources to 176718966e bcachefs: Re-enable hash_redo_key()
2022-09-04 14:42:05 -04:00
Kent Overstreet
dded444b20
Update bcachefs sources to dfaf9a6ee2 lib/printbuf: Clean up headers
2022-08-18 12:49:48 -04:00
Kent Overstreet
ddac1641ee
Update bcachefs sources to 90a9c61e2b bcachefs: Switch bch2_btree_delete_range() to bch2_trans_run()
2022-08-11 17:34:34 -04:00
Kent Overstreet
79d39bd7ce
Update bcachefs sources to d82da7126f fixup! bcachefs: for_each_btree_key2()
2022-07-17 05:20:54 -04:00
Kent Overstreet
bad0c8c507
Update bcachefs sources to 95ff72a6c1 fixup! mm: Centralize & improve oom reporting in show_mem.c
2022-06-27 15:58:48 -04:00
Kent Overstreet
64ddfc9fc5
hweight32()
...
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2022-06-27 15:58:39 -04:00
Kent Overstreet
23dc00de78
Fix printk_ratelimited()
...
printk_ratelimited was behind an #ifdef CONFIG_PRINTK, which we don't
define, so it was a complete noop - oops.
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2022-06-22 22:05:39 -04:00
Kent Overstreet
03b8098d37
cmd_dump: Use buffered IO for reading device metadata
...
We're reading device metadat in mostly sequential order - buffered IO
will be faster than O_DIRECT.
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2022-06-18 18:33:25 -04:00
Kent Overstreet
ffbf806d5c
Update bcachefs sources to 3704d0779c bcachefs: Improved human readable integer parsing
2022-06-11 18:14:06 -04:00
Kent Overstreet
6ac37db841
Update bcachefs sources to 24f7e08cd8 bcachefs: shrinker.to_text() methods
2022-06-09 15:07:25 -04:00
Kent Overstreet
46b2c553aa
Update bcachefs sources to fad6d13aa5 fixup! bcachefs: Add persistent counters
2022-05-30 23:24:10 -04:00
Kent Overstreet
6f5afc0c12
Update bcachefs sources to bdf6d7c135 fixup! bcachefs: Kill journal buf bloom filter
2022-05-02 18:42:06 -04:00
Kent Overstreet
04ad4ade4c
Update bcachefs sources to fb8a27f6d4 bcachefs: Delete a redundant tracepoint
2022-04-11 22:40:16 -04:00
Kent Overstreet
986533d8d5
Update bcachefs sources to 6ddf061e68 bcachefs: Use a genradix for reading journal entries
2022-04-08 19:26:30 -04:00
Kent Overstreet
498874fdb7
Update bcachefs sources to 91e6c3e0d5 bcachefs: Gap buffer for journal keys
2022-04-04 13:48:45 -04:00
Kent Overstreet
32aabbc4e5
Update bcachefs sources to ab3b6e7dd6 bcachefs: Fix pr_buf() calls
2022-04-02 16:36:29 -04:00
Kent Overstreet
70f2681838
Update bcachefs sources to 5e392aed7a bcachefs: Kill bch2_alloc_write()
2022-03-31 16:57:08 -04:00
Kent Overstreet
cc1b64e992
Flush standard output before popping assertions
...
Seeing error messages before we die generally makes assertions easier to
debug.
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2022-03-30 23:20:39 -04:00
Kent Overstreet
e240b4ae86
Update bcachefs sources to f638850417 bcachefs: bch2_trans_log_msg()
2022-03-30 17:40:37 -04:00
Kent Overstreet
1a9d73b5c0
Shrinker improvements
...
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-21 20:20:09 -04:00
Kent Overstreet
205d75307a
Better bio_alloc_bioset()
...
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-21 18:21:31 -04:00
Kent Overstreet
74148a8ee5
Update bcachefs sources to 0e705f5944 fixup! bcachefs: Refactor bch2_btree_node_mem_alloc()
2022-03-21 02:13:02 -04:00
Kent Overstreet
3765483ff0
Update bcachefs sources to f05b3c1af9 bcachefs: Improve bucket_alloc_fail tracepoint
2022-03-13 19:21:13 -04:00
Kent Overstreet
d34e731082
Update bcachefs sources to e48731a188 bcachefs: Fix BTREE_TRIGGER_WANTS_OLD_AND_NEW
2022-03-13 19:20:59 -04:00
Kent Overstreet
bf7924f552
Add freezable_schedule() to linux kernel shim
...
Also fix the freezable_schedule_timeout() macro.
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2022-03-10 15:38:02 -05:00
Kent Overstreet
03498f9464
Update bcachefs sources to 04036b4910 bcachefs: Fix a memory leak
2022-02-27 12:01:32 -05:00
Kent Overstreet
8d1c88c30d
Update bcachefs sources to da8056a215 bcachefs: Store logical location of journal entries
2022-02-19 01:31:29 -05:00
Kent Overstreet
cc1a99fb74
Switch to pthread_mutex_t for spinlocks, too
...
This fixes an observed journal deadlock - real spinlocks aren't safe in
userspace.
2022-02-18 05:58:24 -05:00
Kent Overstreet
de4e778a6a
Update bcachefs sources to a0d7001b0f bcachefs: Change bch2_dev_lookup() to not use lookup_bdev()
2022-02-16 06:32:49 -05:00
Kent Overstreet
a1d66a2a4e
Update bcachefs sources to ba398d2906 bcachefs: Fix reflink repair code
2022-02-13 04:08:33 -05:00
Kent Overstreet
9c79275419
Update bcachefs sources to b84661c042 bcachefs: Fix reflink repair code
2022-02-11 18:33:16 -05:00
Kent Overstreet
74a7c3ff57
Update bcachefs sources to bf340e68c7 bcachefs: Ignore cached data when calculating fragmentation
2022-01-10 21:41:51 -05:00
Kent Overstreet
931ed5a709
Update bcachefs sources to 50ac18afbb bcachefs: Fix an uninitialized variable
2022-01-04 19:56:40 -05:00
Kent Overstreet
617dc6dd68
Retry memory allocation failures
...
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2022-01-01 21:14:28 -05:00
Kent Overstreet
38f8daa2b1
Update bcachefs sources to 078a1a596a bcachefs: Optimize bucket reuse
2021-12-28 15:03:54 -05:00
Kent Overstreet
42ba8b5a75
Update bcachefs sources to 5fd0c70102 bcachefs: Fix __remove_dirent()
2021-11-03 21:28:23 -04:00
Brett Holman
76821f0760
make BIO_MAX_VECS unsigned, like the kernel definition
...
Signed-off-by: Brett Holman <bholman.devel@gmail.com>
2021-10-16 13:41:43 -06:00
Kent Overstreet
2b8c1bb091
Update bcachefs sources to 3f3f969859 bcachefs: Fix some compiler warnings
2021-09-09 19:10:07 -04:00
Kent Overstreet
ac82bc1ea5
Delete unused variable
...
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2021-07-28 17:27:25 -04:00
Kent Overstreet
f06b01e9ea
Update bcachefs sources to b964c6cba8 bcachefs: Change lockrestart_do() to always call bch2_trans_begin()
2021-07-28 17:26:50 -04:00
Brett Holman
308d7adcc5
fix for musl and non-x86 archs
2021-07-24 20:16:41 -04:00
Kent Overstreet
86bd5c622c
Update bcachefs sources to 787de128a5 bcachefs: Improvements to fsck check_dirents()
2021-07-14 20:31:38 -04:00
Kent Overstreet
700d013b52
Update bcachefs sources to 400c2f8d96 bcachefs: Mask out unknown compat features when going read-write
2021-07-11 13:57:11 -04:00
Kent Overstreet
347c0b108e
Update bcachefs sources to dbee44d5ab bcachefs: add bcachefs xxhash support
2021-07-07 20:30:53 -04:00
Kent Overstreet
ff578c6718
Update bcachefs sources to 69be0dae31 bcachefs: Always zero memory from bch2_trans_kmalloc()
2021-06-10 20:25:55 -04:00
Kent Overstreet
58ae103b0a
Update bcachefs sources to e3a7cee503 bcachefs: Don't mark superblocks past end of usable space
2021-06-08 22:55:14 -04:00
Kent Overstreet
b61ad35b97
Update bcachefs sources to 3913e0cac3 bcachefs: Journal space calculation fix
2021-05-31 15:05:33 -04:00
Kent Overstreet
4a2acdaf65
Update closures from kernel source tree
2021-05-27 21:13:52 -04:00
Kent Overstreet
27d75d929f
Grab math.h from kernel source tree
...
This gets us round_up() and round_down()
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2021-05-27 21:12:13 -04:00
Kent Overstreet
2e2d5a3f7e
Update bcachefs sources to 0cd3e1d27a bcachefs: Fix for bch2_bkey_pack_pos() not initializing len/version fields
2021-05-17 16:48:48 -04:00
Kent Overstreet
8f72e6940c
Fix some minor compiler warnings
...
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2021-05-17 16:35:54 -04:00
Kent Overstreet
bb74624daa
Update bcachefs sources to a5c0e1bb30 bcachefs: Clean up bch2_btree_and_journal_walk()
2021-04-30 18:23:38 -04:00
Kent Overstreet
a14d39d7ac
bit_spinlocks now use futexes
...
Spinlocks aren't a good idea in userspace, where we can't actually
disable preemption.
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2021-04-26 20:18:47 -04:00
Kent Overstreet
edc3ffe8f2
Update bcachefs sources to 8d3093bd9b bcachefs: Evict btree nodes we're deleting
2021-04-26 20:18:47 -04:00
Kent Overstreet
30f72f75f5
Add a real mempool implementation
...
Imported from the kernel.
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2021-04-24 01:36:43 -04:00
Kent Overstreet
ceac31bcb6
Update bcachefs sources to fe72e70682 bcachefs: Fix for btree_gc repairing interior btree ptrs
2021-04-19 21:26:48 -04:00
Kent Overstreet
967c870498
Update bcachefs sources to 8eca47e4d5 bcachefs: Improved check_directory_structure()
2021-04-13 10:24:15 -04:00
Kent Overstreet
b422ff58ba
Update bcachefs sources to a8b3ce7599 fixup! bcachefs: Eliminate more PAGE_SIZE uses
2021-04-12 11:48:45 -04:00
Kent Overstreet
d340c4f4a8
Fix krealloc() alignment
...
bcachefs assumes kmalloc & krealloc give out allocations that are
naturally aligned, like the kernel allocators do.
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2021-04-08 15:48:45 -04:00
Kent Overstreet
a2094890a9
Update bcachefs sources to 18686af684 bcachefs: Inode backpointers
2021-03-29 00:22:38 -04:00
Kent Overstreet
c88113e255
Update bcachefs sources to ad68801b93 bcachefs: Use pcpu mode of six locks for interior nodes
2021-03-24 22:13:00 -04:00
Kent Overstreet
c28f93bc52
generix radix trees: Don't overflow in peek()
2021-02-12 21:42:46 -05:00
Kent Overstreet
868abec1ab
Update bcachefs sources to 5e73602f6c bcachefs: Fix for fsck hanging
2021-02-12 16:02:52 -05:00
Kent Overstreet
db931a4571
Update bcachefs sources to e1d0fb8c5f bcachefs: Don't require flush/fua on every journal write
2020-12-04 13:45:33 -05:00
Kent Overstreet
1e574cb1aa
Update bcachefs sources to 021e62a098 bcachefs: Fix error in filesystem initialization
2020-11-30 00:06:46 -05:00
Kent Overstreet
13f53aa228
Update bcachefs sources to d1fd471830 bcachefs: Add more debug checks
2020-11-16 18:23:54 -05:00
Kent Overstreet
3420d86959
Round up aligned_alloc() allocations
...
this fixes an address sanitizer splat
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2020-11-16 18:23:47 -05:00
Kent Overstreet
4df03a2ead
Fix kmalloc_array macro
...
This was causing us some valgrind errors.
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2020-11-08 15:23:13 -05:00
Kent Overstreet
d2a118d921
Update bcachefs sources to 1d669389f7 bcachefs: use a radix tree for inum bitmap in fsck
2020-11-07 13:09:23 -05:00
Kent Overstreet
cd9892e543
Update bcachefs sources to 10ab39f2fa bcachefs: Improvements to the journal read error paths
2020-08-24 16:25:05 -04:00
Kent Overstreet
05408b6f8f
Update bcachefs sources to 4837f82ee1 bcachefs: Use cached iterators for alloc btree
2020-06-15 16:27:19 -04:00
Kent Overstreet
c32bba1325
Fix build when CONFIG_BCACHEFS_DEBUG=y
2020-06-04 07:57:09 -04:00
Yuxuan Shui
69413acbdc
kmalloc: use posix_memalign
...
posix_memalign doesn't have the restriction that size must be a multiply
of alignment.
This also reverts the fix in commit f3fdbbfa92
.
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-05-23 17:43:38 +01:00
Kent Overstreet
f8d4cbe40b
Update log2.h from linux kernel
...
This fixes a build breakage where the old log2.g referenced
__ilog2_NaN() which we weren't defining.
2020-05-21 17:19:47 -04:00
Yuxuan Shui
f3fdbbfa92
Make sure aligned_alloc size is a multiply of alignment
...
Fix a ASan complaint.
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-05-21 14:36:00 +01:00
Kent Overstreet
34c9be19b3
Update bcachefs sources to e1f6739c4a bcachefs: Fix another iterator counting bug
2020-05-14 21:48:52 -04:00
Yuxuan Shui
5bc48bd428
Fix building on musl
...
* 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.
2020-05-05 10:29:31 +01:00
Kent Overstreet
4d697aa315
Don't leak ksets
2020-01-09 18:02:22 -05:00
Kent Overstreet
f712a866a4
Put valgrind support behind CONFIG_VALGRIND
2019-12-04 17:49:34 -05:00
Justin Husted
ff695c5afb
Use the correct clock for userspace time.
...
The ktime_get_coarse_real_ts64() implementation for userspace was using
CLOCK_MONOTONIC instead of CLOCK_REALTIME_COARSE. This resulted in
files being timestamped with a time close to the unix epoch.
Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-11-04 21:23:46 -08:00
Justin Husted
bf7574260c
Add better valgrind support for journal write buffers.
2019-11-03 23:17:43 -05:00
Justin Husted
ff4d082246
Change preempt_disable() etc. to use a recursive mutex.
...
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-11-03 23:17:43 -05:00
Kent Overstreet
7f3557f57e
Update bcachefs sources to 7e03c1ab0e bcachefs: Kill bchfs_extent_update()
2019-10-10 18:06:44 -04:00
Kent Overstreet
98b8f8d0c0
Update six locks
2019-10-01 15:55:42 -04:00
Kent Overstreet
db39aa3e1b
Update bcachefs sources to 5a3a4087af bcachefs: Convert a BUG_ON() to a warning
2019-09-25 15:23:50 -04:00
Kent Overstreet
8192cc8ed8
Update llist code
...
This fixes a bug where the compiler was dropping a null ptr check
2019-08-28 11:35:00 -04:00
Kent Overstreet
cc41f52bcc
Update bcachefs sources to 14f68409be bcachefs: Optimize fiemap
2019-08-27 17:37:03 -04:00
Kent Overstreet
72a408f848
Update bcachefs sources to ece184f718 bcachefs: Reflink
2019-08-21 13:19:36 -04:00
Kent Overstreet
f96ba8e0aa
Update bcachefs sources to b91a514413 bcachefs: Don't try to delete stripes when RO
2019-07-11 12:00:51 -04:00
Kent Overstreet
7e35389599
Update bcachefs sources to f38382c574 bcachefs: Improve key marking interface
2019-05-24 11:58:42 -04:00
Kent Overstreet
93bdfcb210
Update bcachefs sources to 454bd4f82d bcachefs: Fix for the stripes mark path and gc
2019-05-08 19:13:46 -04:00