pnfs: allow splicing pre-encoded pages into the layoutcommit args
authorChristoph Hellwig <hch@lst.de>
Thu, 21 Aug 2014 16:09:25 +0000 (11:09 -0500)
committerTrond Myklebust <trond.myklebust@primarydata.com>
Wed, 10 Sep 2014 19:47:01 +0000 (12:47 -0700)
commit5f919c9f10c1cf821ee5f414683214a361a1b98c
tree401fab5447d465efa72b750905ea31868a7d4a5b
parent47abadefad213bb7de9592d2e09a8bd282ddc3de
pnfs: allow splicing pre-encoded pages into the layoutcommit args

Currently there is no XDR buffer space allocated for the per-layout driver
layoutcommit payload, which leads to server buffer overflows in the
blocklayout driver even under simple workloads.  As we can't do per-layout
sizes for XDR operations we'll have to splice a previously encoded list
of pages into the XDR stream, similar to how we handle ACL buffers.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
fs/nfs/nfs4xdr.c
fs/nfs/pnfs.c
fs/nfs/pnfs.h
include/linux/nfs_xdr.h