diff options
| author | 2023-10-30 12:30:52 -0400 | |
|---|---|---|
| committer | 2023-11-04 14:17:11 -0400 | |
| commit | c4accde498dd7db8352d574958d19a5f710aba69 (patch) | |
| tree | 7dc805652f5bcf02f1772dc8b44dfa210a92c0ee /rust/kernel/ssh:/git@git.zx2c4.com/git: | |
| parent | bcachefs: Fix build errors with gcc 10 (diff) | |
bcachefs: Ensure srcu lock is not held too long
The SRCU read lock that btree_trans takes exists to make it safe for
bch2_trans_relock() to deref pointers to btree nodes/key cache items we
don't have locked, but as a side effect it blocks reclaim from freeing
those items.
Thus, it's important to not hold it for too long: we need to
differentiate between bch2_trans_unlock() calls that will be only for a
short duration, and ones that will be for an unbounded duration.
This introduces bch2_trans_unlock_long(), to be used mainly by the data
move paths.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'rust/kernel/ssh:/git@git.zx2c4.com/git:')
0 files changed, 0 insertions, 0 deletions
