b718175853
- New on disk format version, bcachefs_metadata_version_disk_accounting_inum This adds one more disk accounting counter, which counts disk usage and number of extents per inode number. This lets us track fragmentation, for implementing defragmentation later, and it also counts disk usage per inode in all snapshots, which will be a useful thing to expose to users. - One performance issue we've observed is threads spinning when they should be waiting for dirty keys in the key cache to be flushed by journal reclaim, so we now have hysteresis for the waiting thread, as well as improving the tracepoint and a new time_stat, for tracking time blocked waiting on key cache flushing. And, various assorted smaller fixes. -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEKnAFLkS8Qha+jvQrE6szbY3KbnYFAma/9QkACgkQE6szbY3K bnYcBw/+LBSZ415gWSjPktdecf5rc6K4KxETxAxV0f0KesYzxqAtQzN0SCDvKt65 3aALU03wM8vWITiLS38/ckT+j6S2BpXcOxdu/OC0nRYQEUg9ZLvqEG5lQ3a/LliV Q64N33qsSr6QaKszFllLYcN4tGduKg8HoMlHn6+vJ7HNPjdfv0HHERSUsc7K84/w jkRtDE2NxsRJZKMEvIFp8hd5KXUR5zyBz/kc4P0WliLXpSyJLITzhKw1JV7ikKVD 0mO2bJ/0i7wPIabAD2HJahvbC7fl+2fkYFxUJ2XnvMTgU/+QyeGHEufbcbVrVSp0 BpzBTmSMFbGXBkbQBruFX5rJetzXeBqdYf0Yfavd4KDhGvYlSfDZQUapXT1QKC2q aHSB/s+2r7Crr/MBJyjbeFgXFTNGvI5yerlbdp2yj1kxjYJHHaKrp6h7n6XXk21W /mGF5tkIMkFTv98rQnIaky4neJzOPsLTTgxeR8zEudCgMaVUqEcaMdIFvARDjY/3 n52VR0zl3olV3vu7LgHaHfgH6lfaMV0sHPaGNYGL0YL+bCJD+lYM8a6l9aaks8vk md7+mFcOS4FUdDdS8MEKIN/k/gkEOC/EpmI864i9rIl0SiNXNy7FPTDKON8b+Ury 5omBMUQMEe9Q/pgKGXfpJWFynhSPEVf4y1DIOsrXk/jeBqenFyo= =BPGT -----END PGP SIGNATURE----- Merge tag 'bcachefs-2024-08-16' of git://evilpiepirate.org/bcachefs Pull bcachefs fixes from Kent OverstreetL - New on disk format version, bcachefs_metadata_version_disk_accounting_inum This adds one more disk accounting counter, which counts disk usage and number of extents per inode number. This lets us track fragmentation, for implementing defragmentation later, and it also counts disk usage per inode in all snapshots, which will be a useful thing to expose to users. - One performance issue we've observed is threads spinning when they should be waiting for dirty keys in the key cache to be flushed by journal reclaim, so we now have hysteresis for the waiting thread, as well as improving the tracepoint and a new time_stat, for tracking time blocked waiting on key cache flushing. ... and various assorted smaller fixes. * tag 'bcachefs-2024-08-16' of git://evilpiepirate.org/bcachefs: bcachefs: Fix locking in __bch2_trans_mark_dev_sb() bcachefs: fix incorrect i_state usage bcachefs: avoid overflowing LRU_TIME_BITS for cached data lru bcachefs: Fix forgetting to pass trans to fsck_err() bcachefs: Increase size of cuckoo hash table on too many rehashes bcachefs: bcachefs_metadata_version_disk_accounting_inum bcachefs: Kill __bch2_accounting_mem_mod() bcachefs: Make bkey_fsck_err() a wrapper around fsck_err() bcachefs: Fix warning in __bch2_fsck_err() for trans not passed in bcachefs: Add a time_stat for blocked on key cache flush bcachefs: Improve trans_blocked_journal_reclaim tracepoint bcachefs: Add hysteresis to waiting on btree key cache flush lib/generic-radix-tree.c: Fix rare race in __genradix_ptr_alloc() bcachefs: Convert for_each_btree_node() to lockrestart_do() bcachefs: Add missing downgrade table entry bcachefs: disk accounting: ignore unknown types bcachefs: bch2_accounting_invalid() fixup bcachefs: Fix bch2_trigger_alloc when upgrading from old versions bcachefs: delete faulty fastpath in bch2_btree_path_traverse_cached() |
||
---|---|---|
.. | ||
842 | ||
crypto | ||
dim | ||
fonts | ||
kunit | ||
lz4 | ||
lzo | ||
math | ||
pldmfw | ||
raid6 | ||
reed_solomon | ||
test_fortify | ||
vdso | ||
xz | ||
zlib_deflate | ||
zlib_dfltcc | ||
zlib_inflate | ||
zstd | ||
.gitignore | ||
alloc_tag.c | ||
argv_split.c | ||
ashldi3.c | ||
ashrdi3.c | ||
asn1_decoder.c | ||
asn1_encoder.c | ||
assoc_array.c | ||
atomic64_test.c | ||
atomic64.c | ||
audit.c | ||
base64.c | ||
bcd.c | ||
bch.c | ||
bitfield_kunit.c | ||
bitmap-str.c | ||
bitmap.c | ||
bitrev.c | ||
bootconfig-data.S | ||
bootconfig.c | ||
bsearch.c | ||
btree.c | ||
bucket_locks.c | ||
bug.c | ||
build_OID_registry | ||
buildid.c | ||
bust_spinlocks.c | ||
check_signature.c | ||
checksum_kunit.c | ||
checksum.c | ||
closure.c | ||
clz_ctz.c | ||
clz_tab.c | ||
cmdline_kunit.c | ||
cmdline.c | ||
cmpdi2.c | ||
cmpxchg-emu.c | ||
codetag.c | ||
compat_audit.c | ||
cpu_rmap.c | ||
cpumask_kunit.c | ||
cpumask.c | ||
crc4.c | ||
crc7.c | ||
crc8.c | ||
crc16.c | ||
crc32.c | ||
crc32defs.h | ||
crc32test.c | ||
crc64-rocksoft.c | ||
crc64.c | ||
crc-ccitt.c | ||
crc-itu-t.c | ||
crc-t10dif.c | ||
ctype.c | ||
debug_info.c | ||
debug_locks.c | ||
debugobjects.c | ||
dec_and_lock.c | ||
decompress_bunzip2.c | ||
decompress_inflate.c | ||
decompress_unlz4.c | ||
decompress_unlzma.c | ||
decompress_unlzo.c | ||
decompress_unxz.c | ||
decompress_unzstd.c | ||
decompress.c | ||
devmem_is_allowed.c | ||
devres.c | ||
dhry_1.c | ||
dhry_2.c | ||
dhry_run.c | ||
dhry.h | ||
digsig.c | ||
dump_stack.c | ||
dynamic_debug.c | ||
dynamic_queue_limits.c | ||
earlycpio.c | ||
errname.c | ||
error-inject.c | ||
errseq.c | ||
extable.c | ||
fault-inject-usercopy.c | ||
fault-inject.c | ||
fdt_addresses.c | ||
fdt_empty_tree.c | ||
fdt_ro.c | ||
fdt_rw.c | ||
fdt_strerror.c | ||
fdt_sw.c | ||
fdt_wip.c | ||
fdt.c | ||
find_bit_benchmark.c | ||
find_bit.c | ||
flex_proportions.c | ||
fortify_kunit.c | ||
fw_table.c | ||
gen_crc32table.c | ||
gen_crc64table.c | ||
genalloc.c | ||
generic-radix-tree.c | ||
glob.c | ||
globtest.c | ||
group_cpus.c | ||
hashtable_test.c | ||
hexdump.c | ||
hweight.c | ||
idr.c | ||
inflate.c | ||
interval_tree_test.c | ||
interval_tree.c | ||
iomap_copy.c | ||
iomap.c | ||
iommu-helper.c | ||
iov_iter.c | ||
irq_poll.c | ||
irq_regs.c | ||
is_signed_type_kunit.c | ||
is_single_threaded.c | ||
kasprintf.c | ||
Kconfig | ||
Kconfig.debug | ||
Kconfig.kasan | ||
Kconfig.kcsan | ||
Kconfig.kfence | ||
Kconfig.kgdb | ||
Kconfig.kmsan | ||
Kconfig.ubsan | ||
kfifo.c | ||
klist.c | ||
kobject_uevent.c | ||
kobject.c | ||
kstrtox.c | ||
kstrtox.h | ||
kunit_iov_iter.c | ||
libcrc32c.c | ||
linear_ranges.c | ||
list_debug.c | ||
list_sort.c | ||
list-test.c | ||
llist.c | ||
locking-selftest-hardirq.h | ||
locking-selftest-mutex.h | ||
locking-selftest-rlock-hardirq.h | ||
locking-selftest-rlock-softirq.h | ||
locking-selftest-rlock.h | ||
locking-selftest-rsem.h | ||
locking-selftest-rtmutex.h | ||
locking-selftest-softirq.h | ||
locking-selftest-spin-hardirq.h | ||
locking-selftest-spin-softirq.h | ||
locking-selftest-spin.h | ||
locking-selftest-wlock-hardirq.h | ||
locking-selftest-wlock-softirq.h | ||
locking-selftest-wlock.h | ||
locking-selftest-wsem.h | ||
locking-selftest.c | ||
lockref.c | ||
logic_iomem.c | ||
logic_pio.c | ||
lru_cache.c | ||
lshrdi3.c | ||
lwq.c | ||
Makefile | ||
maple_tree.c | ||
memcat_p.c | ||
memcpy_kunit.c | ||
memory-notifier-error-inject.c | ||
memregion.c | ||
memweight.c | ||
muldi3.c | ||
net_utils.c | ||
netdev-notifier-error-inject.c | ||
nlattr.c | ||
nmi_backtrace.c | ||
notifier-error-inject.c | ||
notifier-error-inject.h | ||
objagg.c | ||
objpool.c | ||
of-reconfig-notifier-error-inject.c | ||
oid_registry.c | ||
once.c | ||
overflow_kunit.c | ||
packing.c | ||
parman.c | ||
parser.c | ||
percpu_counter.c | ||
percpu_test.c | ||
percpu-refcount.c | ||
plist.c | ||
pm-notifier-error-inject.c | ||
polynomial.c | ||
radix-tree.c | ||
radix-tree.h | ||
random32.c | ||
ratelimit.c | ||
rbtree_test.c | ||
rbtree.c | ||
rcuref.c | ||
ref_tracker.c | ||
refcount.c | ||
rhashtable.c | ||
sbitmap.c | ||
scatterlist.c | ||
seq_buf.c | ||
sg_pool.c | ||
sg_split.c | ||
siphash_kunit.c | ||
siphash.c | ||
slub_kunit.c | ||
smp_processor_id.c | ||
sort.c | ||
stackdepot.c | ||
stackinit_kunit.c | ||
stmp_device.c | ||
string_helpers_kunit.c | ||
string_helpers.c | ||
string_kunit.c | ||
string.c | ||
strncpy_from_user.c | ||
strnlen_user.c | ||
syscall.c | ||
test_bitmap.c | ||
test_bitops.c | ||
test_bits.c | ||
test_blackhole_dev.c | ||
test_bpf.c | ||
test_debug_virtual.c | ||
test_dynamic_debug.c | ||
test_firmware.c | ||
test_fprobe.c | ||
test_fpu_glue.c | ||
test_fpu_impl.c | ||
test_fpu.h | ||
test_free_pages.c | ||
test_hash.c | ||
test_hexdump.c | ||
test_hmm_uapi.h | ||
test_hmm.c | ||
test_ida.c | ||
test_kmod.c | ||
test_kprobes.c | ||
test_linear_ranges.c | ||
test_list_sort.c | ||
test_lockup.c | ||
test_maple_tree.c | ||
test_memcat_p.c | ||
test_meminit.c | ||
test_min_heap.c | ||
test_module.c | ||
test_objagg.c | ||
test_objpool.c | ||
test_parman.c | ||
test_printf.c | ||
test_ref_tracker.c | ||
test_rhashtable.c | ||
test_scanf.c | ||
test_sort.c | ||
test_static_key_base.c | ||
test_static_keys.c | ||
test_sysctl.c | ||
test_ubsan.c | ||
test_uuid.c | ||
test_vmalloc.c | ||
test_xarray.c | ||
test-kstrtox.c | ||
textsearch.c | ||
timerqueue.c | ||
trace_readwrite.c | ||
ts_bm.c | ||
ts_fsm.c | ||
ts_kmp.c | ||
ubsan.c | ||
ubsan.h | ||
ucmpdi2.c | ||
ucs2_string.c | ||
usercopy_kunit.c | ||
usercopy.c | ||
uuid.c | ||
vsprintf.c | ||
win_minmax.c | ||
xarray.c | ||
xxhash.c |