diff options
author | Mark Brown <broonie@kernel.org> | 2024-06-03 12:45:04 +0100 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2024-06-03 12:45:04 +0100 |
commit | 4ac0f06ca044e3ca938681a0eeb7d52a68b0b30f (patch) | |
tree | 9433afff899211152ff78ed38f9a70ab2bb497fc /fs/netfs/objects.c | |
parent | 34864c05a54d1bc544c8c3939aababbc481d99e3 (diff) | |
parent | c3f38fa61af77b49866b006939479069cd451173 (diff) |
ASoC: Merge up fixes
We need this to get the i.MX platforms working in CI again.
Diffstat (limited to 'fs/netfs/objects.c')
-rw-r--r-- | fs/netfs/objects.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/netfs/objects.c b/fs/netfs/objects.c index c90d482b1650..f4a642727479 100644 --- a/fs/netfs/objects.c +++ b/fs/netfs/objects.c @@ -72,6 +72,7 @@ struct netfs_io_request *netfs_alloc_request(struct address_space *mapping, } } + atomic_inc(&ctx->io_count); trace_netfs_rreq_ref(rreq->debug_id, 1, netfs_rreq_trace_new); netfs_proc_add_rreq(rreq); netfs_stat(&netfs_n_rh_rreq); @@ -124,6 +125,7 @@ static void netfs_free_request(struct work_struct *work) { struct netfs_io_request *rreq = container_of(work, struct netfs_io_request, work); + struct netfs_inode *ictx = netfs_inode(rreq->inode); unsigned int i; trace_netfs_rreq(rreq, netfs_rreq_trace_free); @@ -142,6 +144,9 @@ static void netfs_free_request(struct work_struct *work) } kvfree(rreq->direct_bv); } + + if (atomic_dec_and_test(&ictx->io_count)) + wake_up_var(&ictx->io_count); call_rcu(&rreq->rcu, netfs_free_request_rcu); } |