Re: [GIT PULL] Please pull NFS client updates for 4.19

From: Schumaker, Anna
Date: Thu Aug 23 2018 - 15:31:44 EST


(Oops, I had a typo in the linux-nfs mailing list)

On Thu, 2018-08-23 at 15:27 -0400, Anna Schumaker wrote:
> 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(-)