Use the subreq_counter in netfs_io_request to allocate subrequest
debug_index values in read ops as well as write ops.

Signed-off-by: David Howells <dhowe...@redhat.com>
cc: Jeff Layton <jlay...@kernel.org>
cc: ne...@lists.linux.dev
cc: linux-fsde...@vger.kernel.org
---
 fs/netfs/io.c      | 7 ++-----
 fs/netfs/objects.c | 1 +
 fs/netfs/output.c  | 1 -
 3 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/fs/netfs/io.c b/fs/netfs/io.c
index 2641238aae82..8de581ac0cfb 100644
--- a/fs/netfs/io.c
+++ b/fs/netfs/io.c
@@ -501,8 +501,7 @@ netfs_rreq_prepare_read(struct netfs_io_request *rreq,
  * Slice off a piece of a read request and submit an I/O request for it.
  */
 static bool netfs_rreq_submit_slice(struct netfs_io_request *rreq,
-                                   struct iov_iter *io_iter,
-                                   unsigned int *_debug_index)
+                                   struct iov_iter *io_iter)
 {
        struct netfs_io_subrequest *subreq;
        enum netfs_io_source source;
@@ -511,7 +510,6 @@ static bool netfs_rreq_submit_slice(struct netfs_io_request 
*rreq,
        if (!subreq)
                return false;
 
-       subreq->debug_index     = (*_debug_index)++;
        subreq->start           = rreq->start + rreq->submitted;
        subreq->len             = io_iter->count;
 
@@ -565,7 +563,6 @@ static bool netfs_rreq_submit_slice(struct netfs_io_request 
*rreq,
 int netfs_begin_read(struct netfs_io_request *rreq, bool sync)
 {
        struct iov_iter io_iter;
-       unsigned int debug_index = 0;
        int ret;
 
        _enter("R=%x %llx-%llx",
@@ -596,7 +593,7 @@ int netfs_begin_read(struct netfs_io_request *rreq, bool 
sync)
                if (rreq->origin == NETFS_DIO_READ &&
                    rreq->start + rreq->submitted >= rreq->i_size)
                        break;
-               if (!netfs_rreq_submit_slice(rreq, &io_iter, &debug_index))
+               if (!netfs_rreq_submit_slice(rreq, &io_iter))
                        break;
                if (test_bit(NETFS_RREQ_BLOCKED, &rreq->flags) &&
                    test_bit(NETFS_RREQ_NONBLOCK, &rreq->flags))
diff --git a/fs/netfs/objects.c b/fs/netfs/objects.c
index 72b52f070270..8acc03a64059 100644
--- a/fs/netfs/objects.c
+++ b/fs/netfs/objects.c
@@ -152,6 +152,7 @@ struct netfs_io_subrequest *netfs_alloc_subrequest(struct 
netfs_io_request *rreq
                INIT_LIST_HEAD(&subreq->rreq_link);
                refcount_set(&subreq->ref, 2);
                subreq->rreq = rreq;
+               subreq->debug_index = atomic_inc_return(&rreq->subreq_counter);
                netfs_get_request(rreq, netfs_rreq_trace_get_subreq);
                netfs_stat(&netfs_n_rh_sreq);
        }
diff --git a/fs/netfs/output.c b/fs/netfs/output.c
index fbdbb4f78234..e586396d6b72 100644
--- a/fs/netfs/output.c
+++ b/fs/netfs/output.c
@@ -37,7 +37,6 @@ struct netfs_io_subrequest *netfs_create_write_request(struct 
netfs_io_request *
                subreq->source  = dest;
                subreq->start   = start;
                subreq->len     = len;
-               subreq->debug_index = atomic_inc_return(&wreq->subreq_counter);
 
                switch (subreq->source) {
                case NETFS_UPLOAD_TO_SERVER:

Reply via email to