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 3c18204..eca02d1 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)