Hi Linus, The following changes since commit 4f7d029b9bf009fbee76bb10c0c4351a1870d2f3:
Linux 4.11-rc7 (2017-04-16 13:00:18 -0700) are available in the git repository at: git://git.linux-nfs.org/projects/trondmy/linux-nfs.git tags/nfs-for-4.12-1 for you to fetch changes up to 76b2a303384e1d6299c3a0249f0f0ce2f8f96017: pNFS/flexfiles: Always attempt to call layoutstats when flexfiles is enabled (2017-05-09 16:02:57 -0400) ---------------------------------------------------------------- NFS client updates for Linux 4.12 Highlights include: Stable bugfixes: - Fix use after free in write error path - Use GFP_NOIO for two allocations in writeback - Fix a hang in OPEN related to server reboot - Check the result of nfs4_pnfs_ds_connect - Fix an rcu lock leak Features: - Removal of the unmaintained and unused OSD pNFS layout - Cleanup and removal of lots of unnecessary dprintk()s - Cleanup and removal of some memory failure paths now that GFP_NOFS is guaranteed to never fail. - Remove the v3-only data server limitation on pNFS/flexfiles Bugfixes: - RPC/RDMA connection handling bugfixes - Copy offload: fixes to ensure the copied data is COMMITed to disk. - Readdir: switch back to using the ->iterate VFS interface - File locking fixes from Ben Coddington - Various use-after-free and deadlock issues in pNFS - Write path bugfixes ---------------------------------------------------------------- Anna Schumaker (29): NFS: Clean up do_callback_layoutrecall() NFS: Clean up nfs4_callback_layoutrecall() NFS: Remove extra dprintk()s from callback_proc.c NFS: Clean up decode_getattr_args() NFS: Clean up decode_recall_args() NFS: Clean up decode_layoutrecall_args() NFS: Clean up decode_cb_sequence_args() NFS: Clean up decode_notify_lock_args() NFS: Clean up encode_cb_sequence_res() NFS: Remove extra dprintk()s from callback_xdr.c NFS: Clean up nfs_init_client() NFS: Clean up extra dprintk()s in client.c NFS: Remove nfs_direct_readpage_release() NFS: Clean up nfs_direct_commit_complete() NFS: Remove extra dprintk()s from namespace.c NFS: Clean up nfs42_layoutstat_done() NFS: Clean up nfs4_match_clientids() NFS: Clean up nfs4_check_serverowner_minor_id() NFS: Create a common nfs4_match_client() function NFS: Clean up nfs4_check_serverowner_major_id() NFS: Clean up nfs4_check_server_scope() NFS: Clean up nfs4_set_client() NFS: Clean up nfs4_init_server() NFS: Remove extra dprintk()s from nfs4client.c NFS: Clean up nfs4_get_rootfh() NFS: Remove extra dprintk()s from nfs4namespace.c NFS: Clean up nfs4_proc_bind_one_conn_to_session() NFS: Clean up _nfs4_proc_exchange_id() NFS: Clean up nfs4_proc_get_lease_time() Artem Savkov (1): nfs/filelayout: fix NULL pointer dereference in fl_pnfs_update_layout() Benjamin Coddington (11): NFS: switch back to to ->iterate() NFS: Fix missing pg_cleanup after nfs_pageio_cond_complete() NFS: Use GFP_NOIO for two allocations in writeback NFS: move nfs_pgarray_set() to open code NFS: move rw_mode to nfs_pageio_header NFS4: remove a redundant lock range check NFS: Move the flock open mode check into nfs_flock() locks: Set FL_CLOSE when removing flock locks on close() NFS: Add an iocounter wait function for async RPC tasks lockd: Introduce nlmclnt_operations NFS: Always wait for I/O completion before unlock Christoph Hellwig (1): nfs: remove the objlayout driver Chuck Lever (13): xprtrdma: Cancel refresh worker during buffer shutdown sunrpc: Export xprt_force_disconnect() xprtrdma: Detect unreachable NFS/RDMA servers more reliably xprtrdma: Refactor rpcrdma_ia_open() xprtrdma: Use same device when mapping or syncing DMA buffers xprtrdma: Support unplugging an HCA from under an NFS mount xprtrdma: Refactor rpcrdma_ep_connect xprtrdma: Restore transport after device removal xprtrdma: Revert commit d0f36c46deea xprtrdma: Annotate receive workqueue xprtrdma: Squelch ENOBUFS warnings sunrpc: Fix xdr_init_decode_pages() documenting comment xprtrdma: Remove rpcrdma_buffer::rb_pool Dave Wysochanski (1): Fix nfs_client refcounting if kmalloc fails in nfs4_proc_exchange_id and nfs4_proc_async_renew Fabian Frederick (1): nfs: use kmap/kunmap directly Fred Isaman (2): NFS: Fix use after free in write error path pNFS: Fix NULL dereference in pnfs_generic_alloc_ds_commits Hou Tao (1): NFS: always treat the invocation of nfs_getattr as cache hit when noac is on NeilBrown (2): NFS: fix usage of mempools. sunrpc: don't check for failure from mempool_alloc() Olga Kornievskaia (2): NFS4.1 handle interrupted slot reuse from ERR_DELAY NFS append COMMIT after synchronous COPY Pan Bian (1): NFSv4: check return value of xdr_inline_decode Tigran Mkrtchyan (1): nfs: flexfilelayout: remove v3-only data server limitation Trond Myklebust (24): NFSv4: Fix a hang in OPEN related to server reboot pNFS/flexfiles: Check the result of nfs4_pnfs_ds_connect pNFS: Remove unused layout driver callbacks pNFS: Unexport pnfs_put_lseg_locked and _pnfs_return_layout pNFS: unexport nfs4_pnfs_v3_ds_connect_unload pNFS: Ensure we check layout segment validity in the pg_init() callback pNFS: Fix use after free issues in pnfs_do_read() NFS: Don't write back further requests if there is a pending write error NFSv3: nfs3_nlm_alloc_call should be declared static Merge tag 'nfs-rdma-4.12-1' of git://git.linux-nfs.org/projects/anna/nfs-rdma NFS: Add a few more fatal I/O errors to nfs_error_is_fatal() NFSv4: Don't special case "launder" pNFS: Ensure we check layout validity before marking it for return pNFS/flexfiles: Fix up the ff_layout_write_pagelist failure path pNFS: Don't send COMMITs to the DSes if the server invalidated our layout pNFS: Ensure we commit the layout if it has been invalidated pNFS: Don't clear the layout return info if there are segments to return pNFS: Fix a deadlock when coalescing writes and returning the layout pNFS: Fix a typo in pnfs_generic_alloc_ds_commits NFSv4.1: RECLAIM_COMPLETE must handle NFS4ERR_CONN_NOT_BOUND_TO_SESSION NFSv4: Fix an rcu lock leak NFSv4: Fix exclusive create attributes encoding NFSv4.1: Work around a Linux server bug... pNFS/flexfiles: Always attempt to call layoutstats when flexfiles is enabled Documentation/admin-guide/kernel-parameters.txt | 6 - Documentation/filesystems/nfs/pnfs.txt | 37 -- fs/fuse/file.c | 2 +- fs/lockd/clntlock.c | 1 + fs/lockd/clntproc.c | 26 +- fs/locks.c | 2 +- fs/nfs/Kconfig | 5 - fs/nfs/Makefile | 1 - fs/nfs/callback_proc.c | 47 +- fs/nfs/callback_xdr.c | 109 +--- fs/nfs/client.c | 67 +-- fs/nfs/dir.c | 104 +--- fs/nfs/direct.c | 21 +- fs/nfs/file.c | 30 +- fs/nfs/filelayout/filelayout.c | 8 +- fs/nfs/flexfilelayout/flexfilelayout.c | 24 +- fs/nfs/flexfilelayout/flexfilelayoutdev.c | 10 +- fs/nfs/inode.c | 5 +- fs/nfs/internal.h | 5 +- fs/nfs/namespace.c | 34 +- fs/nfs/nfs3proc.c | 54 +- fs/nfs/nfs42proc.c | 24 +- fs/nfs/nfs42xdr.c | 22 +- fs/nfs/nfs4client.c | 283 +++------- fs/nfs/nfs4getroot.c | 3 - fs/nfs/nfs4namespace.c | 7 +- fs/nfs/nfs4proc.c | 99 ++-- fs/nfs/nfs4state.c | 10 +- fs/nfs/nfs4xdr.c | 94 ++-- fs/nfs/objlayout/Kbuild | 5 - fs/nfs/objlayout/objio_osd.c | 675 ---------------------- fs/nfs/objlayout/objlayout.c | 706 ------------------------ fs/nfs/objlayout/objlayout.h | 183 ------ fs/nfs/objlayout/pnfs_osd_xdr_cli.c | 415 -------------- fs/nfs/pagelist.c | 77 ++- fs/nfs/pnfs.c | 62 ++- fs/nfs/pnfs.h | 6 +- fs/nfs/pnfs_nfs.c | 24 +- fs/nfs/proc.c | 2 +- fs/nfs/read.c | 9 +- fs/nfs/write.c | 121 ++-- include/linux/fs.h | 2 + include/linux/lockd/bind.h | 24 +- include/linux/lockd/lockd.h | 2 + include/linux/nfs_fs.h | 17 +- include/linux/nfs_fs_sb.h | 1 + include/linux/nfs_page.h | 5 +- include/linux/nfs_xdr.h | 3 + net/sunrpc/clnt.c | 8 - net/sunrpc/sched.c | 5 - net/sunrpc/xdr.c | 2 +- net/sunrpc/xprt.c | 1 + net/sunrpc/xprtrdma/rpc_rdma.c | 12 +- net/sunrpc/xprtrdma/transport.c | 57 +- net/sunrpc/xprtrdma/verbs.c | 323 +++++++---- net/sunrpc/xprtrdma/xprt_rdma.h | 22 +- 56 files changed, 949 insertions(+), 2960 deletions(-) delete mode 100644 fs/nfs/objlayout/Kbuild delete mode 100644 fs/nfs/objlayout/objio_osd.c delete mode 100644 fs/nfs/objlayout/objlayout.c delete mode 100644 fs/nfs/objlayout/objlayout.h delete mode 100644 fs/nfs/objlayout/pnfs_osd_xdr_cli.c -- Trond Myklebust Linux NFS client maintainer, PrimaryData trond.mykleb...@primarydata.com