NFS: Replace the READ_PLUS decoding code
authorAnna Schumaker <Anna.Schumaker@Netapp.com>
Thu, 21 Jul 2022 18:21:34 +0000 (14:21 -0400)
committerTrond Myklebust <trond.myklebust@hammerspace.com>
Sat, 23 Jul 2022 19:38:29 +0000 (15:38 -0400)
commitd3b00a802c845a6021148ce2e669b5a0b5729959
tree40759c2ecc0d53abbfb404571bb71d214f109fc7
parente1bd87608d4b6f87813f79b91e834de610f1049b
NFS: Replace the READ_PLUS decoding code

We now take a 2-step process that allows us to place data and hole
segments directly at their final position in the xdr_stream without
needing to do a bunch of redundant copies to expand holes. Due to the
variable lengths of each segment, the xdr metadata might cross page
boundaries which I account for by setting a small scratch buffer so
xdr_inline_decode() won't fail.

Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
fs/nfs/nfs42xdr.c