NFSv3: Improve NFSv3 performance when server returns no post-op attributes
authorTrond Myklebust <trond.myklebust@primarydata.com>
Mon, 5 Mar 2018 17:03:00 +0000 (12:03 -0500)
committerTrond Myklebust <trond.myklebust@hammerspace.com>
Sun, 30 Sep 2018 19:35:17 +0000 (15:35 -0400)
commit8d8928d87960d71f898767185b8c0e4ce3de3cbe
tree4d512261635e3b1560160af32cf30e04fdc0f643
parent80f42368868e082c5c1dcca6ada94f6b8eab4991
NFSv3: Improve NFSv3 performance when server returns no post-op attributes

When the server fails to return post-op attributes, the client's
attempt to place read data directly in the page cache fails, and
so we have to do an extra copy in order to realign the data with
page borders.
This patch attempts to detect servers that don't return post-op
attributes on read (e.g. for pNFS) and adjusts the placement
calculation accordingly.

Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
fs/nfs/nfs3proc.c
fs/nfs/nfs3xdr.c
include/linux/nfs_fs_sb.h
include/linux/nfs_xdr.h