[GIT PULL] Please pull NFS client updates for 4.19

From: Schumaker, Anna
Date: Thu Aug 23 2018 - 15:27:34 EST


Hi Linus,

The following changes since commit cd3f77d74ac31b4627cdfa70812338076a1ea475:

Merge tag 'usb-4.18-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb (2018-07-26 09:29:29 -0700)

are available in the Git repository at:

git://git.linux-nfs.org/projects/anna/linux-nfs.git tags/nfs-for-4.19-1

for you to fetch changes up to 0af4c8be97a14d1df8a78b4993a09e8dff545a18:

pNFS: Remove unwanted optimisation of layoutget (2018-08-21 13:39:08 -0400)

----------------------------------------------------------------
These patches include adding async support for the v4.2 COPY operation.
I think Bruce is planning to send the server patches for the next release,
but I figured we could get the client side out of the way now since it's been
in my tree for a while. This shouldn't cause any problems, since the server
will still respond with synchronous copies even if the client requests async.
I can remove the patches and resend the pull if you think that'll be a problem.

I also updated the expiry date on my pgp key the other day. I'm pretty sure
it synced to the server, but just a heads up in case I missed a step somewhere!

Stable bufixes:
- v3.17+: Fix an off-by-one in bl_map_stripe()
- v4.9+: NFSv4 client live hangs after live data migration recovery
- v4.18+: xprtrdma: Fix disconnect regression
- v4.14+: Fix locking in pnfs_generic_recover_commit_reqs
- v4.9+: Fix a sleep in atomic context in nfs4_callback_sequence()

Features:
- Add support for asynchronous server-side COPY operations

Other bugfixes and cleanups:
- Optitmizations and fixes involving NFS v4.1 / pNFS layout handling
- Optimize lseek(fd, SEEK_CUR, 0) on directories to avoid locking
- Immediately reschedule writeback when the server replies with an error
- Fix excessive attribute revalidation in nfs_execute_ok()
- Add error checking to nfs_idmap_prepare_message()
- Use new vm_fault_t return type
- Return a delegation when reclaiming one that the server has recalled
- Referrals should inherit proto setting from parents
- Make rpc_auth_create_args a const
- Improvements to rpc_iostats tracking
- Fix a potential reference leak when there is an error processing a callback
- Fix rmdir / mkdir / rename nlink accounting
- Fix updating inode change attribute
- Fix error handling in nfsn4_sp4_select_mode()
- Use an appropriate work queue for direct-write completion
- Don't busy wait if NFSv4 session draining is interrupted

Thanks,
Anna

----------------------------------------------------------------
Bill Baker (1):
NFSv4 client live hangs after live data migration recovery

Calum Mackay (1):
nfs: Referrals not inheriting proto setting from parent

Chengguang Xu (1):
nfs: add error check in nfs_idmap_prepare_message()

Chuck Lever (1):
xprtrdma: Fix disconnect regression

Dan Carpenter (3):
pnfs/blocklayout: off by one in bl_map_stripe()
NFS: silence a harmless uninitialized variable warning
sunrpc: kstrtoul() can also return -ERANGE

Dave Wysochanski (3):
sunrpc: add _print_rpc_iostats() to output metrics for one RPC op
sunrpc: Add _add_rpc_iostats() to add rpc_iostats metrics
sunrpc: Change rpc_print_iostats to rpc_clnt_show_stats and handle rpc_clnt clones

Gustavo A. R. Silva (2):
NFS: Mark expected switch fall-throughs
pnfs: Use true and false for boolean values

Jeff Layton (1):
nfs: initiate returning delegation when reclaiming one that's been recalled

Lance Shelton (1):
Fix error code in nfs_lookup_verify_inode()

NeilBrown (1):
NFS: Use an appropriate work queue for direct-write completion

Olga Kornievskaia (11):
NFSv4.0 fix client reference leak in callback
NFS CB_OFFLOAD xdr
NFS OFFLOAD_CANCEL xdr
NFS COPY xdr handle async reply
NFS add support for asynchronous COPY
NFS handle COPY reply CB_OFFLOAD call race
NFS export nfs4_async_handle_error
NFS send OFFLOAD_CANCEL when COPY killed
NFS handle COPY ERR_OFFLOAD_NO_REQS
NFS add a simple sync nfs4_proc_commit after async COPY
NFS recover from destination server reboot for copies

Sargun Dhillon (1):
net/sunrpc: Make rpc_auth_create_args a const

Souptick Joarder (1):
fs: nfs: Adding new return type vm_fault_t

Stephen Hemminger (1):
sunrpc: whitespace fixes

Trond Myklebust (24):
pNFS: Don't discard layout segments that are marked for return
pNFS: Don't update the stateid when replying NFS4ERR_DELAY to a layout recall
pNFS: Ignore non-recalled layouts in pnfs_layout_need_return()
pNFS/flexfiles: Ensure we always return a layout if it has layoutstats
pNFS: Wait for stale layoutget calls to complete in pnfs_update_layout()
NFS: Allow optimisation of lseek(fd, SEEK_CUR, 0) on directories
pNFS: Parse the results of layoutget on open even if permissions checks fail
NFSv4.1: Fix a potential layoutget/layoutrecall deadlock
NFS: Ensure we immediately start writeback on rescheduled writes
NFS: Fix excessive attribute revalidation in nfs_execute_ok()
NFS: More excessive attribute revalidation in nfs_execute_ok()
pnfs: Fix handling of NFS4ERR_OLD_STATEID replies to layoutreturn
NFSv4: bump/drop the nlink count on the parent dir when we mkdir/rmdir
NFSv4: Detect nlink changes on cross-directory renames too
NFSv4: Mark the inode change attribute up to date in update_changeattr()
pnfs: pnfs_find_lseg() should not check NFS_LSEG_LAYOUTRETURN
NFSv4: Don't busy wait if NFSv4 session draining is interrupted
NFSv4: Fix a typo in nfs4_init_channel_attrs()
NFSv4: Fix locking in pnfs_generic_recover_commit_reqs
NFSv4: Fix a sleep in atomic context in nfs4_callback_sequence()
pNFS: When updating the stateid in layoutreturn, also update the recall range
pNFS: Treat RECALLCONFLICT like DELAY...
pNFS/flexfiles: ff_layout_pg_init_read should exit on error
pNFS: Remove unwanted optimisation of layoutget

Wei Yongjun (1):
NFSv4: Fix error handling in nfs4_sp4_select_mode()

fs/nfs/blocklayout/blocklayout.c | 1 +
fs/nfs/blocklayout/dev.c | 2 +-
fs/nfs/callback.h | 12 ++
fs/nfs/callback_proc.c | 97 ++++++++++++---
fs/nfs/callback_xdr.c | 91 +++++++++++++-
fs/nfs/client.c | 1 +
fs/nfs/dir.c | 32 +++--
fs/nfs/direct.c | 2 +-
fs/nfs/file.c | 4 +-
fs/nfs/flexfilelayout/flexfilelayout.c | 31 +++--
fs/nfs/nfs3acl.c | 2 +
fs/nfs/nfs42proc.c | 209 +++++++++++++++++++++++++++++++-
fs/nfs/nfs42xdr.c | 98 +++++++++++++--
fs/nfs/nfs4_fs.h | 8 +-
fs/nfs/nfs4client.c | 21 +++-
fs/nfs/nfs4file.c | 10 +-
fs/nfs/nfs4idmap.c | 4 +
fs/nfs/nfs4proc.c | 156 ++++++++++++++++++++----
fs/nfs/nfs4state.c | 40 +++++-
fs/nfs/nfs4xdr.c | 1 +
fs/nfs/pagelist.c | 1 +
fs/nfs/pnfs.c | 123 +++++++++++++------
fs/nfs/pnfs.h | 7 +-
fs/nfs/pnfs_nfs.c | 16 ++-
fs/nfs/super.c | 4 +-
fs/nfs/write.c | 2 +
include/linux/nfs4.h | 1 +
include/linux/nfs_fs.h | 11 ++
include/linux/nfs_fs_sb.h | 4 +-
include/linux/nfs_xdr.h | 15 ++-
include/linux/sunrpc/auth.h | 5 +-
include/linux/sunrpc/clnt.h | 1 +
include/linux/sunrpc/metrics.h | 4 +-
net/sunrpc/auth.c | 4 +-
net/sunrpc/auth_gss/auth_gss.c | 11 +-
net/sunrpc/auth_gss/gss_generic_token.c | 1 -
net/sunrpc/auth_gss/gss_krb5_crypto.c | 1 -
net/sunrpc/auth_gss/gss_krb5_keys.c | 1 -
net/sunrpc/auth_gss/gss_krb5_seal.c | 1 -
net/sunrpc/auth_gss/gss_krb5_unseal.c | 1 -
net/sunrpc/auth_gss/gss_krb5_wrap.c | 1 -
net/sunrpc/auth_gss/svcauth_gss.c | 2 +-
net/sunrpc/auth_null.c | 2 +-
net/sunrpc/auth_unix.c | 2 +-
net/sunrpc/backchannel_rqst.c | 1 -
net/sunrpc/clnt.c | 30 +++--
net/sunrpc/rpcb_clnt.c | 2 +-
net/sunrpc/stats.c | 55 ++++++---
net/sunrpc/sunrpc.h | 1 -
net/sunrpc/xprt.c | 2 +-
net/sunrpc/xprtrdma/verbs.c | 5 +-
net/sunrpc/xprtsock.c | 1 -
52 files changed, 924 insertions(+), 216 deletions(-)