Hi Linus, The following changes since commit 0e4a43ed08e2f44aa7b96aa95d0a540d675483e1:
Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes (2012-11-07 13:38:56 +0100) are available in the git repository at: git://git.linux-nfs.org/projects/trondmy/linux-nfs.git tags/nfs-for-3.8-1 for you to fetch changes up to cd6c5968582a273561464fe6b1e8cc8214be02df: SUNRPC: continue run over clients list on PipeFS event instead of break (2012-12-17 12:19:16 -0500) Cheers Trond ---------------------------------------------------------------- NFS client updates for Linux 3.8 Features include: - Full audit of BUG_ON asserts in the NFS, SUNRPC and lockd client code Remove altogether where possible, and replace with WARN_ON_ONCE and appropriate error returns where not. - NFSv4.1 client adds session dynamic slot table management. There is matching server side code that has been submitted to Bruce for consideration. Together, this code allows the server to dynamically manage the amount of memory it allocates to the duplicate request cache for each client. It will constantly resize those caches to reserve more memory for clients that are hot while shrinking caches for those that are quiescent. In addition, there are assorted bugfixes for the generic NFS write code, fixes to deal with the drop_nlink() warnings, and yet another fix for NFSv4 getacl. ---------------------------------------------------------------- Andy Adamson (2): SUNRPC set gss gc_expiry to full lifetime SUNRPC handle EKEYEXPIRED in call_refreshresult Bryan Schumaker (2): NFS: Add sequence_priviliged_ops for nfs4_proc_sequence() NFS: Remove _nfs_call_sync_session Jeff Layton (3): nfs: don't extend writes to cover entire page if pagecache is invalid nfs: don't zero out the rest of the page if we hit the EOF on a DIO READ nfs: fix page dirtying in NFS DIO read codepath Jim Rees (1): NFS: Reduce stack use in encode_exchange_id() NeilBrown (1): NFS: avoid NULL dereference in nfs_destroy_server Stanislav Kinsbursky (1): SUNRPC: continue run over clients list on PipeFS event instead of break Sven Wegener (1): NFSv4: Check for buffer length in __nfs4_get_acl_uncached Trond Myklebust (68): NFS: Get rid of unnecessary asserts NFS: Remove asserts from the NFS XDR code NFSv4: Remove the BUG_ON() from nfs4_get_lease_time_prepare()... NFSv4.1: Remove unused function last_byte_offset NFSv4.1: Remove assertion BUG_ON()s from the files and generic layout code NFS: Remove BUG_ON() calls from the generic writeback code NFSv4: Get rid of unnecessary BUG_ON()s NFS: Remove BUG_ON()s in the fs/nfs/inode.c NFS: Remove the BUG_ON() in the mount code lockd: Remove unnecessary BUG_ON()s in the xdr client code lockd: Remove trivial BUG_ON()s from the NSM code lockd: Remove BUG_ON()s in fs/lockd/host.c lockd: Remove BUG_ON()s from fs/lockd/clntproc.c SUNRPC: Clean up rpc_bind_new_program SUNRPC: Fix validity issues with rpc_pipefs sb->s_fs_info NFSv4.1: Handle session reset and bind_conn_to_session before lease check NFSv4.1: Don't confuse CREATE_SESSION arguments and results NFSv4.1: Adjust CREATE_SESSION arguments when mounting a new filesystem NFSv4.1: We must bump the clientid sequence number after CREATE_SESSION NFSv4.1: nfs4_alloc_slots doesn't need zeroing NFSv4.1: clean up nfs4_recall_slot to use nfs4_alloc_slots NFSv4.1: Shrink struct nfs4_sequence_res by moving sr_renewal_time NFSv4: Fix a compile time warning when #undef CONFIG_NFS_V4_1 NFSv4.1: Shrink struct nfs4_sequence_res by moving the session pointer NFSv4.1: Label each entry in the session slot tables with its slot number NFSv4.1: Simplify struct nfs4_sequence_args too NFSv4.1: Simplify slot allocation NFSv4.1: Clean up nfs4_free_slot NFSv4.1: Ensure that the client tracks the server target_highest_slotid NFSv4.1: Reset the sequence number for slots that have been deallocated NFSv4.1: Fix nfs4_callback_recallslot to work with dynamic slot allocation NFSv4.1: Don't confuse target_highest_slotid and max_slots in cb_recall_slot NFSv4.1: Allow the server to recall all but one slot NFSv4.1: Support dynamic resizing of the session slot table NFSv4.1: Allow SEQUENCE to resize the slot table on the fly NFSv4.1: Remove the state manager code to resize the slot table NFSv4.1: CB_RECALL_SLOT must schedule a sequence op after updating targets NFSv4.1: If slot allocation fails due to OOM, retry more quickly NFSv4.1: Clean up session draining NFSv4: Move nfs4_wait_clnt_recover and nfs4_client_recover_expired_lease NFSv4.1: Cleanup move session slot management to fs/nfs/nfs4session.c NFS: Remove unused function slot_idx NFSv4.1: Move slot table and session struct definitions to nfs4session.h NFSv4.1: Set the maximum slot table size to 1024 slots NFSv4.1: Ping server when our session table limits are too high NFSv4.1: Use nfs41_setup_sequence where appropriate NFSv4.1: Simplify the sequence setup NFSv4: Simplify the NFSv4/v4.1 synchronous call switch NFSv4.1: Clean up nfs41_setup_sequence NFSv4.1: Remove the 'FIFO' behaviour for nfs41_setup_sequence NFSv4: Clean up handling of privileged operations NFSv4.1: Don't mess with task priorities in nfs41_setup_sequence NFSv4: Reorder the XDR structures to put sequence at the top, not bottom NFSv4.1: Ensure smooth handover of slots from one task to the next waiting SUNRPC: Don't allow low priority tasks to pre-empt higher priority ones NFSv4.1: Try to eliminate outliers when updating target_highest_slotid Merge branch 'bugfixes' into nfs-for-next NFSv4.1: Handle NFS4ERR_BADSLOT errors correctly NFSv4.1: Be conservative about the client highest slotid NFS: Ensure that we always drop inodes that have been marked as stale NFS: Fix calls to drop_nlink() NFS: nfs_lookup_revalidate should not trust an inode with i_nlink == 0 NFSv4.1: Try to deal with NFS4ERR_SEQ_MISORDERED. NFSv4.1: Move the RPC timestamp out of the slot. NFSv4.1: Deal effectively with interrupted RPC calls. SUNRPC: Handle ECONNREFUSED in xs_local_setup_socket SUNRPC: variable 'svsk' is unused in function bc_send_request NFS: Don't use SetPageError in the NFS writeback code Weston Andros Adamson (25): SUNRPC: add WARN_ON_ONCE for potential deadlock SUNRPC: remove BUG_ON in __rpc_clnt_handle_event SUNRPC: remove BUG_ON from rpc_run_bc_task SUNRPC: remove BUG_ON from call_transmit SUNRPC: remove BUG_ON from call_bc_transmit SUNRPC: remove BUG_ON from call_bc_transmit SUNRPC: remove BUG_ON from rpc_sleep_on* SUNRPC: remove BUG_ON from xprt_destroy_backchannel SUNRPC: remove BUG_ON from bc_send SUNRPC: remove BUG_ON calls from cache_read SUNRPC: remove BUG_ON in rpc_put_sb_net SUNRPC: remove two BUG_ON asserts SUNRPC: remove BUG_ON from svc_pool_map_set_cpumask SUNRPC: remove BUG_ONs from *_reclassify_socket* SUNRPC: remove BUG_ON in svc_xprt_received SUNRPC: remove BUG_ONs checking RPCSVC_MAXPAGES SUNRPC: remove BUG_ON in xdr_shrink_bufhead SUNRPC: remove BUG_ON from bc_malloc SUNRPC: remove BUG_ON from encode_rpcb_string SUNRPC: remove BUG_ON in svc_register SUNRPC: remove BUG_ON from __rpc_sleep_on_priority SUNRPC: remove BUG_ONs checking RPC_IS_QUEUED SUNRPC: remove BUG_ON in svc_delete_xprt SUNRPC: remove BUG_ON in rpc_release_task SUNRPC: remove BUG_ON from rpc_call_sync Yanchuan Nian (3): nfs: Fix wrong slab cache in nfs_commit_mempool nfs: Remove duplicate function declaration in internal.h nfs: Remove unused list nfs4_clientid_list fs/lockd/clnt4xdr.c | 8 - fs/lockd/clntproc.c | 3 +- fs/lockd/clntxdr.c | 8 - fs/lockd/host.c | 15 +- fs/lockd/mon.c | 3 - fs/nfs/Makefile | 2 +- fs/nfs/blocklayout/blocklayout.c | 1 + fs/nfs/cache_lib.c | 1 - fs/nfs/callback.h | 4 +- fs/nfs/callback_proc.c | 17 +- fs/nfs/callback_xdr.c | 5 +- fs/nfs/client.c | 9 +- fs/nfs/dir.c | 22 +- fs/nfs/direct.c | 17 +- fs/nfs/inode.c | 10 +- fs/nfs/internal.h | 42 +- fs/nfs/mount_clnt.c | 7 +- fs/nfs/nfs2xdr.c | 4 +- fs/nfs/nfs3proc.c | 6 +- fs/nfs/nfs3xdr.c | 7 +- fs/nfs/nfs4_fs.h | 29 +- fs/nfs/nfs4client.c | 5 +- fs/nfs/nfs4file.c | 1 - fs/nfs/nfs4filelayout.c | 45 +-- fs/nfs/nfs4filelayoutdev.c | 3 +- fs/nfs/nfs4proc.c | 820 +++++++++++---------------------------- fs/nfs/nfs4session.c | 552 ++++++++++++++++++++++++++ fs/nfs/nfs4session.h | 142 +++++++ fs/nfs/nfs4state.c | 143 +++---- fs/nfs/nfs4super.c | 1 + fs/nfs/nfs4xdr.c | 52 +-- fs/nfs/objlayout/objlayout.c | 11 - fs/nfs/pnfs.c | 17 +- fs/nfs/proc.c | 43 -- fs/nfs/super.c | 2 + fs/nfs/write.c | 31 +- include/linux/nfs_fs_sb.h | 47 --- include/linux/nfs_xdr.h | 155 ++++---- include/linux/sunrpc/sched.h | 1 - net/sunrpc/auth_gss/auth_gss.c | 17 +- net/sunrpc/backchannel_rqst.c | 9 +- net/sunrpc/bc_svc.c | 2 +- net/sunrpc/cache.c | 4 +- net/sunrpc/clnt.c | 48 ++- net/sunrpc/rpc_pipe.c | 9 +- net/sunrpc/rpcb_clnt.c | 5 +- net/sunrpc/sched.c | 71 ++-- net/sunrpc/svc.c | 12 +- net/sunrpc/svc_xprt.c | 11 +- net/sunrpc/svcsock.c | 6 +- net/sunrpc/xdr.c | 5 +- net/sunrpc/xprtsock.c | 19 +- 52 files changed, 1335 insertions(+), 1174 deletions(-) create mode 100644 fs/nfs/nfs4session.c create mode 100644 fs/nfs/nfs4session.h -- Trond Myklebust Linux NFS client maintainer NetApp trond.mykleb...@netapp.com www.netapp.com
signature.asc
Description: This is a digitally signed message part