aboutsummaryrefslogtreecommitdiffstats
path: root/fs/bcachefs/debug.c
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2025-04-18 14:56:09 -0400
committerKent Overstreet <kent.overstreet@linux.dev>2025-05-21 20:14:27 -0400
commitf5241e41272858b983da45ac7f8a6ad58c4ba71f (patch)
tree41896969272a866496b097c20d796921795a0307 /fs/bcachefs/debug.c
parentbcachefs: for_each_rw_member_rcu() (diff)
downloadlinux-rng-f5241e41272858b983da45ac7f8a6ad58c4ba71f.tar.xz
linux-rng-f5241e41272858b983da45ac7f8a6ad58c4ba71f.zip
bcachefs: enumerated_ref.c
Factor out the debug code for rw filesystem refs into a small library. In release mode an enumerated ref is a normal percpu refcount, but in debug mode all enumerated users of the ref get their own atomic_long_t ref - making it much easier to chase down refcount usage bugs for when a refcount has many users. For debugging, we have enumerated_ref_to_text(), which prints the current value of each different user. Additionally, in debug mode enumerated_ref_stop() has a 10 second timeout, after which it will dump outstanding refcounts. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/debug.c')
0 files changed, 0 insertions, 0 deletions