linux/fs/bcachefs
Kent Overstreet a0cb8d784f bcachefs: Inject transaction restarts in debug mode
In CONFIG_BCACHEFS_DEBUG mode, we'll now randomly issue transaction
restarts - with a decaying probability based on the number of restarts
we've already had, to ensure that transactions eventually make forward
progress. This should help shake out some bugs.

Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22 17:09:37 -04:00
..
acl.c bcachefs: EINTR -> BCH_ERR_transaction_restart 2023-10-22 17:09:37 -04:00
acl.h
alloc_background.c bcachefs: EINTR -> BCH_ERR_transaction_restart 2023-10-22 17:09:37 -04:00
alloc_background.h bcachefs: Fix should_invalidate_buckets() 2023-10-22 17:09:36 -04:00
alloc_foreground.c bcachefs: EINTR -> BCH_ERR_transaction_restart 2023-10-22 17:09:37 -04:00
alloc_foreground.h bcachefs: Kill allocator threads & freelists 2023-10-22 17:09:29 -04:00
alloc_types.h bcachefs: Fold bucket_state in to BCH_DATA_TYPES() 2023-10-22 17:09:30 -04:00
bcachefs.h bcachefs: added lock held time stats 2023-10-22 17:09:35 -04:00
bcachefs_format.h bcachefs: Add a persistent counter for bucket discards 2023-10-22 17:09:33 -04:00
bcachefs_ioctl.h bcachefs: Fold bucket_state in to BCH_DATA_TYPES() 2023-10-22 17:09:30 -04:00
bkey.c
bkey.h
bkey_buf.h
bkey_methods.c bcachefs: Improve an error message 2023-10-22 17:09:34 -04:00
bkey_methods.h bcachefs: Plumb btree_id & level to trans_mark 2023-10-22 17:09:32 -04:00
bkey_sort.c
bkey_sort.h
bset.c bcachefs: Printbuf rework 2023-10-22 17:09:33 -04:00
bset.h
btree_cache.c bcachefs: EINTR -> BCH_ERR_transaction_restart 2023-10-22 17:09:37 -04:00
btree_cache.h
btree_gc.c bcachefs: Use bch2_err_str() in error messages 2023-10-22 17:09:36 -04:00
btree_gc.h bcachefs: Fix a null ptr deref 2023-10-22 17:09:31 -04:00
btree_io.c bcachefs: Fix btree node read retries 2023-10-22 17:09:33 -04:00
btree_io.h bcachefs: Shutdown path improvements 2023-10-22 17:09:32 -04:00
btree_iter.c bcachefs: Inject transaction restarts in debug mode 2023-10-22 17:09:37 -04:00
btree_iter.h bcachefs: EINTR -> BCH_ERR_transaction_restart 2023-10-22 17:09:37 -04:00
btree_key_cache.c bcachefs: EINTR -> BCH_ERR_transaction_restart 2023-10-22 17:09:37 -04:00
btree_key_cache.h
btree_locking.h bcachefs: EINTR -> BCH_ERR_transaction_restart 2023-10-22 17:09:37 -04:00
btree_types.h bcachefs: EINTR -> BCH_ERR_transaction_restart 2023-10-22 17:09:37 -04:00
btree_update.h bcachefs: EINTR -> BCH_ERR_transaction_restart 2023-10-22 17:09:37 -04:00
btree_update_interior.c bcachefs: EINTR -> BCH_ERR_transaction_restart 2023-10-22 17:09:37 -04:00
btree_update_interior.h bcachefs: Shutdown path improvements 2023-10-22 17:09:32 -04:00
btree_update_leaf.c bcachefs: EINTR -> BCH_ERR_transaction_restart 2023-10-22 17:09:37 -04:00
buckets.c bcachefs: bch2_trans_run() 2023-10-22 17:09:36 -04:00
buckets.h bcachefs: fix __dev_available(). 2023-10-22 17:09:34 -04:00
buckets_types.h bcachefs: Fold bucket_state in to BCH_DATA_TYPES() 2023-10-22 17:09:30 -04:00
buckets_waiting_for_journal.c
buckets_waiting_for_journal.h
buckets_waiting_for_journal_types.h
chardev.c bcachefs: Fold bucket_state in to BCH_DATA_TYPES() 2023-10-22 17:09:30 -04:00
chardev.h
checksum.c bcachefs: Use bch2_err_str() in error messages 2023-10-22 17:09:36 -04:00
checksum.h
clock.c bcachefs: Printbuf rework 2023-10-22 17:09:33 -04:00
clock.h
clock_types.h
compress.c
compress.h
counters.c bcachefs: Printbuf rework 2023-10-22 17:09:33 -04:00
counters.h bcachefs: Add persistent counters 2023-10-22 17:09:32 -04:00
darray.h
data_update.c bcachefs: EINTR -> BCH_ERR_transaction_restart 2023-10-22 17:09:37 -04:00
data_update.h bcachefs: Redo data_update interface 2023-10-22 17:09:34 -04:00
debug.c bcachefs: added lock held time stats 2023-10-22 17:09:35 -04:00
debug.h
dirent.c bcachefs: EINTR -> BCH_ERR_transaction_restart 2023-10-22 17:09:37 -04:00
dirent.h bcachefs: Add rw to .key_invalid() 2023-10-22 17:09:30 -04:00
disk_groups.c bcachefs: Printbuf rework 2023-10-22 17:09:33 -04:00
disk_groups.h
ec.c bcachefs: EINTR -> BCH_ERR_transaction_restart 2023-10-22 17:09:37 -04:00
ec.h bcachefs: Pull out data_update.c 2023-10-22 17:09:34 -04:00
ec_types.h
errcode.c bcachefs: Improved errcodes 2023-10-22 17:09:36 -04:00
errcode.h bcachefs: EINTR -> BCH_ERR_transaction_restart 2023-10-22 17:09:37 -04:00
error.c
error.h
extent_update.c bcachefs: Freespace, need_discard btrees 2023-10-22 17:09:29 -04:00
extent_update.h
extents.c bcachefs: Redo data_update interface 2023-10-22 17:09:34 -04:00
extents.h bcachefs: Redo data_update interface 2023-10-22 17:09:34 -04:00
extents_types.h
eytzinger.h
fifo.h
fs-common.c bcachefs: Don't BUG_ON() inode link count underflow 2023-10-22 17:09:34 -04:00
fs-common.h
fs-io.c bcachefs: EINTR -> BCH_ERR_transaction_restart 2023-10-22 17:09:37 -04:00
fs-io.h bcachefs: Delete bch_writepage 2023-10-22 17:09:32 -04:00
fs-ioctl.c
fs-ioctl.h
fs.c bcachefs: EINTR -> BCH_ERR_transaction_restart 2023-10-22 17:09:37 -04:00
fs.h
fsck.c bcachefs: EINTR -> BCH_ERR_transaction_restart 2023-10-22 17:09:37 -04:00
fsck.h
inode.c bcachefs: EINTR -> BCH_ERR_transaction_restart 2023-10-22 17:09:37 -04:00
inode.h bcachefs: Don't BUG_ON() inode link count underflow 2023-10-22 17:09:34 -04:00
io.c bcachefs: EINTR -> BCH_ERR_transaction_restart 2023-10-22 17:09:37 -04:00
io.h bcachefs: Run btree updates after write out of write_point 2023-10-22 17:09:29 -04:00
io_types.h bcachefs: Run btree updates after write out of write_point 2023-10-22 17:09:29 -04:00
journal.c bcachefs: bch2_trans_run() 2023-10-22 17:09:36 -04:00
journal.h bcachefs: Refactor journal entry adding 2023-10-22 17:09:33 -04:00
journal_io.c bcachefs: Printbuf rework 2023-10-22 17:09:33 -04:00
journal_io.h bcachefs: Use a genradix for reading journal entries 2023-10-22 17:09:30 -04:00
journal_reclaim.c bcachefs: Use bch2_err_str() in error messages 2023-10-22 17:09:36 -04:00
journal_reclaim.h
journal_sb.c bcachefs: Printbuf rework 2023-10-22 17:09:33 -04:00
journal_sb.h bcachefs: bch_sb_field_journal_v2 2023-10-22 17:09:29 -04:00
journal_seq_blacklist.c bcachefs: EINTR -> BCH_ERR_transaction_restart 2023-10-22 17:09:37 -04:00
journal_seq_blacklist.h
journal_types.h bcachefs: Introduce a separate journal watermark for copygc 2023-10-22 17:09:29 -04:00
Kconfig bcachefs: Improved errcodes 2023-10-22 17:09:36 -04:00
keylist.c
keylist.h
keylist_types.h
lru.c bcachefs: Convert bch2_check_lrus() to for_each_btree_key_commit() 2023-10-22 17:09:36 -04:00
lru.h bcachefs: LRU repair tweaks 2023-10-22 17:09:32 -04:00
Makefile bcachefs: Improved errcodes 2023-10-22 17:09:36 -04:00
migrate.c bcachefs: EINTR -> BCH_ERR_transaction_restart 2023-10-22 17:09:37 -04:00
migrate.h
move.c bcachefs: EINTR -> BCH_ERR_transaction_restart 2023-10-22 17:09:37 -04:00
move.h bcachefs: move.c refactoring 2023-10-22 17:09:35 -04:00
move_types.h
movinggc.c bcachefs: Use bch2_err_str() in error messages 2023-10-22 17:09:36 -04:00
movinggc.h bcachefs: Improve bucket_alloc_fail tracepoint 2023-10-22 17:09:36 -04:00
opts.c bcachefs: Improve an error message 2023-10-22 17:09:34 -04:00
opts.h bcachefs: Make verbose option settable at runtime 2023-10-22 17:09:34 -04:00
printbuf.c bcachefs: Printbuf rework 2023-10-22 17:09:33 -04:00
printbuf.h bcachefs: Printbuf rework 2023-10-22 17:09:33 -04:00
quota.c bcachefs: Use bch2_err_str() in error messages 2023-10-22 17:09:36 -04:00
quota.h bcachefs: Add rw to .key_invalid() 2023-10-22 17:09:30 -04:00
quota_types.h
rebalance.c bcachefs: Use bch2_err_str() in error messages 2023-10-22 17:09:36 -04:00
rebalance.h
rebalance_types.h
recovery.c bcachefs: Use bch2_err_str() in error messages 2023-10-22 17:09:36 -04:00
recovery.h bcachefs: Fix btree_and_journal_iter 2023-10-22 17:09:33 -04:00
reflink.c bcachefs: EINTR -> BCH_ERR_transaction_restart 2023-10-22 17:09:37 -04:00
reflink.h bcachefs: Plumb btree_id & level to trans_mark 2023-10-22 17:09:32 -04:00
replicas.c bcachefs: Printbuf rework 2023-10-22 17:09:33 -04:00
replicas.h
replicas_types.h
siphash.c
siphash.h
six.c
six.h
str_hash.h
subvolume.c bcachefs: EINTR -> BCH_ERR_transaction_restart 2023-10-22 17:09:37 -04:00
subvolume.h bcachefs: Improve snapshots_seen 2023-10-22 17:09:35 -04:00
subvolume_types.h
super-io.c bcachefs: Printbuf rework 2023-10-22 17:09:33 -04:00
super-io.h bcachefs: Freespace, need_discard btrees 2023-10-22 17:09:29 -04:00
super.c bcachefs: Use bch2_err_str() in error messages 2023-10-22 17:09:36 -04:00
super.h bcachefs: Fix assertion in bch2_dev_list_add_dev() 2023-10-22 17:09:34 -04:00
super_types.h bcachefs: Freespace, need_discard btrees 2023-10-22 17:09:29 -04:00
sysfs.c bcachefs: Always use percpu_ref_tryget_live() on c->writes 2023-10-22 17:09:34 -04:00
sysfs.h bcachefs: Add persistent counters 2023-10-22 17:09:32 -04:00
tests.c bcachefs: EINTR -> BCH_ERR_transaction_restart 2023-10-22 17:09:37 -04:00
tests.h
trace.c
trace.h bcachefs: Inject transaction restarts in debug mode 2023-10-22 17:09:37 -04:00
util.c bcachefs: bch2_time_stats_to_text now indents properly 2023-10-22 17:09:35 -04:00
util.h bcachefs: Printbuf rework 2023-10-22 17:09:33 -04:00
varint.c
varint.h
vstructs.h
xattr.c bcachefs: EINTR -> BCH_ERR_transaction_restart 2023-10-22 17:09:37 -04:00
xattr.h bcachefs: Add rw to .key_invalid() 2023-10-22 17:09:30 -04:00