diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2021-08-24 21:30:06 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-22 17:09:10 -0400 |
commit | 9f6bd30703a32c25988c6aca87c1be1baddc57bd (patch) | |
tree | a5dc43e042198b4969c84ca814b2aa8c99548c01 /fs/bcachefs/ec.c | |
parent | 84841b0d1320c2084facb2f040d6ac0dfced943e (diff) | |
download | lwn-9f6bd30703a32c25988c6aca87c1be1baddc57bd.tar.gz lwn-9f6bd30703a32c25988c6aca87c1be1baddc57bd.zip |
bcachefs: Reduce iter->trans usage
Disfavoured, and should go away.
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Diffstat (limited to 'fs/bcachefs/ec.c')
-rw-r--r-- | fs/bcachefs/ec.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/fs/bcachefs/ec.c b/fs/bcachefs/ec.c index c0855245f2ec..c20c80bd344d 100644 --- a/fs/bcachefs/ec.c +++ b/fs/bcachefs/ec.c @@ -552,19 +552,19 @@ static int __ec_stripe_mem_alloc(struct bch_fs *c, size_t idx, gfp_t gfp) return 0; } -static int ec_stripe_mem_alloc(struct bch_fs *c, +static int ec_stripe_mem_alloc(struct btree_trans *trans, struct btree_iter *iter) { size_t idx = iter->pos.offset; int ret = 0; - if (!__ec_stripe_mem_alloc(c, idx, GFP_NOWAIT|__GFP_NOWARN)) + if (!__ec_stripe_mem_alloc(trans->c, idx, GFP_NOWAIT|__GFP_NOWARN)) return ret; - bch2_trans_unlock(iter->trans); + bch2_trans_unlock(trans); ret = -EINTR; - if (!__ec_stripe_mem_alloc(c, idx, GFP_KERNEL)) + if (!__ec_stripe_mem_alloc(trans->c, idx, GFP_KERNEL)) return ret; return -ENOMEM; @@ -735,7 +735,7 @@ retry: found_slot: start_pos = iter->pos; - ret = ec_stripe_mem_alloc(c, iter); + ret = ec_stripe_mem_alloc(&trans, iter); if (ret) goto err; |