Kent Overstreet
0a08ddf78c
Update bcachefs sources to b9bd69421f73 bcachefs: x-macro-ify inode flags enum
2023-11-02 14:39:01 -04:00
Kent Overstreet
9799b119c3
Update bcachefs sources to 0d63ed13ea3d closures: Fix race in closure_sync()
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-25 13:59:16 -04:00
Kent Overstreet
6b175a0224
Handle -EAGAIN from io_submit()
...
If io_submit() returns -EAGAIN, that just means the io context is full
and we need to wait for completions - no need to die.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-09-29 01:27:59 -04:00
Kent Overstreet
a053ebfb8c
Update bcachefs sources to f9c612bbf82d bcachefs: Fixes for building in userspace
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-09-23 20:03:23 -04:00
Torge Matthies
e0e3032926
Fix one second delay when exiting
...
Signed-off-by: Torge Matthies <openglfreak@googlemail.com>
2023-09-01 17:51:31 +02:00
Kent Overstreet
505c326cbe
Update bcachefs sources to a8115093df bcachefs: Fix divide by zero in rebalance_work()
2023-08-17 17:11:27 -04:00
Kent Overstreet
71ed9f183b
Run shrinkers when pthread_create fails
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-07-20 21:28:03 -04:00
Kent Overstreet
c8bec83e30
Update bcachefs sources to e14d7c7195 bcachefs: Compression levels
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-07-15 17:36:15 -04:00
Kent Overstreet
cfa816bf3f
Update bcachefs sources to 84f132d569 bcachefs: fsck: Break walk_inode() up into multiple functions
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-06-27 19:38:18 -04:00
Kent Overstreet
4d185cfa51
Update bcachefs sources to 99175e5712 bcachefs: Fix bch2_check_discard_freespace_key()
2023-06-18 14:34:05 -04:00
Kent Overstreet
17d1c4f4fe
Update bcachefs sources to ed6b7f81a7 six locks: Disable percpu read lock mode in userspace
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-06-10 22:15:00 -04:00
Kent Overstreet
8642d4ae10
Update bcachefs sources to 7c0fe6f104 bcachefs: Fix bch2_fsck_ask_yn()
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-06-04 18:10:29 -04:00
Kent Overstreet
1f78fed469
Update bcachefs sources to 31c09369cd six locks: Fix an unitialized var
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-05-25 22:25:34 -04:00
Kent Overstreet
7f102ee83d
Update bcachefs sources to 8fd009dd76 bcachefs: Rip out code for storing backpointers in alloc keys
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-03-31 18:02:57 -04:00
Kent Overstreet
fa35853772
Update bcachefs sources to 72405e7ff8 bcachefs: Fix bch2_check_extents_to_backpointers()
2023-03-14 12:56:38 -04:00
Kent Overstreet
d1def9a4b1
linux shim: Fix dropped O_DIRECT flag
...
A recent libbcachefs update accidentally committed a change that dropped
the O_DIRECT flag - we definitely didn't want to do that.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-03-08 10:30:16 -05:00
Kent Overstreet
b0c9ad15f4
Update bcachefs sources to 171da96d76 bcachefs: Drop some anonymous structs, unions
2023-03-04 23:33:25 -05:00
Kent Overstreet
30cca2e94d
Update bcachefs sources to ca97ee3577 bcachefs: bch2_btree_iter_peek_and_restart_outlined()
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-02-27 21:36:36 -05:00
Kent Overstreet
46a6b9210c
Update bcachefs sources to 1b14994029 bcachefs: Fragmentation LRU
2023-02-17 17:51:22 -05:00
Kent Overstreet
a104f0407b
Update bcachefs sources to ea93c26e98 fixup! bcachefs: We can handle missing btree roots for all alloc btrees
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-02-09 18:36:24 -05:00
Kent Overstreet
e2670a38d1
Change memory reclaim
...
- Spin up a background thread to call the shrinkers every 1 second
- Memory allocations will only call reclaim after a failed allocation,
not every single time
This will be a major performance boost on allocation intensive
workloads.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2022-12-19 14:47:42 -05:00
Kent Overstreet
934a84dfaf
Update bcachefs sources to 5963d1b1a4 bcacehfs: Fix bch2_get_alloc_in_memory_pos()
2022-11-26 17:09:59 -05:00
Kent Overstreet
36db254cec
linux/blkdev.c: Fall back to buffered IO when O_DIRECT fails
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2022-11-19 18:59:55 -05:00
Kent Overstreet
c1e4d447f6
Update bcachefs sources to 8d3fc97ca3 bcachefs: Fixes for building in userspace
2022-11-13 20:07:22 -05: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
e66011cd2c
Update bcachefs sources to 6dc2a699c6 bcachefs: bch2_path_put_nokeep()
2022-10-11 06:40:30 -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
b4afc1fa26
Fix bdev_logical_block_size()
...
We were returning sectors instead of bytes.
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2022-06-22 22:17:14 -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
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
986533d8d5
Update bcachefs sources to 6ddf061e68 bcachefs: Use a genradix for reading journal entries
2022-04-08 19:26:30 -04:00
Kent Overstreet
c5183ea57f
Heap code fix
...
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-28 12:39:12 -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
d34e731082
Update bcachefs sources to e48731a188 bcachefs: Fix BTREE_TRIGGER_WANTS_OLD_AND_NEW
2022-03-13 19:20:59 -04:00
Kent Overstreet
a1d66a2a4e
Update bcachefs sources to ba398d2906 bcachefs: Fix reflink repair code
2022-02-13 04:08:33 -05:00
Kent Overstreet
42ba8b5a75
Update bcachefs sources to 5fd0c70102 bcachefs: Fix __remove_dirent()
2021-11-03 21:28:23 -04:00
Brett Holman
2de72a59e0
Fix 32 bit io regression
...
In commit ba1dbafc1f
I reverted 9942fc82d4
, which was a workaround
for an upstream 32bit libaio bug. Oops.
Signed-off-by: Brett Holman <bholman.devel@gmail.com>
2021-10-16 18:28:49 -06:00
Brett Holman
ba1dbafc1f
Fall back to synchronous io when kernel doesn't support aio.
...
Signed-off-by: Brett Holman <bholman.devel@gmail.com>
2021-10-10 15:23:57 -06:00
Kent Overstreet
2225e9a372
Correctly print out error from io_setup()
...
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2021-10-09 16:20:28 -04:00
Brett Holman
9942fc82d4
Make aio code use struct io_iocb_common to support 32 bit architectures
...
Signed-off-by: Brett Holman <bholman.devel@gmail.com>
2021-09-22 17:58:09 -04:00