SUNRPC: Clean up xdr_get_next_encode_buffer()
authorChuck Lever <chuck.lever@oracle.com>
Tue, 7 Jun 2022 20:48:11 +0000 (16:48 -0400)
committerChuck Lever <chuck.lever@oracle.com>
Wed, 8 Jun 2022 16:39:37 +0000 (12:39 -0400)
The value of @p is not used until the "location of the next item" is
computed. Help human readers by moving its initial assignment to the
paragraph where that value is used and by clarifying the antecedents
in the documenting comment.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Reviewed-by: NeilBrown <neilb@suse.com>
Reviewed-by: J. Bruce Fields <bfields@fieldses.org>
net/sunrpc/xdr.c

index 3c182041e790d630e651414dcd710bc514a86c0e..eca02d1224763711ea7d7ad60876404fde8988dc 100644 (file)
@@ -967,6 +967,7 @@ static noinline __be32 *xdr_get_next_encode_buffer(struct xdr_stream *xdr,
                xdr->buf->page_len += frag1bytes;
        xdr->page_ptr++;
        xdr->iov = NULL;
+
        /*
         * If the last encode didn't end exactly on a page boundary, the
         * next one will straddle boundaries.  Encode into the next
@@ -975,11 +976,12 @@ static noinline __be32 *xdr_get_next_encode_buffer(struct xdr_stream *xdr,
         * space at the end of the previous buffer:
         */
        xdr_set_scratch_buffer(xdr, xdr->p, frag1bytes);
-       p = page_address(*xdr->page_ptr);
+
        /*
-        * Note this is where the next encode will start after we've
-        * shifted this one back:
+        * xdr->p is where the next encode will start after
+        * xdr_commit_encode() has shifted this one back:
         */
+       p = page_address(*xdr->page_ptr);
        xdr->p = (void *)p + frag2bytes;
        space_left = xdr->buf->buflen - xdr->buf->len;
        if (space_left - nbytes >= PAGE_SIZE)