RPC: remove unneeded checks from xdr_truncate_encode()
authorJ. Bruce Fields <bfields@redhat.com>
Fri, 19 Sep 2014 21:21:35 +0000 (17:21 -0400)
committerJ. Bruce Fields <bfields@redhat.com>
Thu, 23 Oct 2014 18:05:11 +0000 (14:05 -0400)
Thanks to Andrea Arcangeli for pointing out these checks are
obviously unnecessary given the preceding calculations.

Reported-by: Andrea Arcangeli <aarcange@redhat.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
net/sunrpc/xdr.c

index 290af97bf6f94a72eeb291a6324f4b80fc29db1e..bcece520c4db62a5aacc6dd93a605ebc07f899ae 100644 (file)
@@ -617,7 +617,7 @@ void xdr_truncate_encode(struct xdr_stream *xdr, size_t len)
        fraglen = min_t(int, buf->len - len, tail->iov_len);
        tail->iov_len -= fraglen;
        buf->len -= fraglen;
-       if (tail->iov_len && buf->len == len) {
+       if (tail->iov_len) {
                xdr->p = tail->iov_base + tail->iov_len;
                /* xdr->end, xdr->iov should be set already */
                return;
@@ -631,7 +631,7 @@ void xdr_truncate_encode(struct xdr_stream *xdr, size_t len)
        old = new + fraglen;
        xdr->page_ptr -= (old >> PAGE_SHIFT) - (new >> PAGE_SHIFT);
 
-       if (buf->page_len && buf->len == len) {
+       if (buf->page_len) {
                xdr->p = page_address(*xdr->page_ptr);
                xdr->end = (void *)xdr->p + PAGE_SIZE;
                xdr->p = (void *)xdr->p + (new % PAGE_SIZE);