RFC nfs41 client patches for review
Get series with b4
b4 am [email protected]Versions newest first
- v1 RFC Latest85 patches 32 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/85 | sunrpc: get rid of rpc_rqst.rq_bufsizeinclude/ | +1 | 2 replies | |
| 2/85 | nfs: return compound hdr.status when there are no op repliesfs/ | +2 | 0 replies | |
| 3/85 | nfs: remove incorrect usage of nfs4 compound response hdr.statusfs/ | +0 | 1 reply | |
| 4/85 | FIXME: NFS: Increment operation number in each encode_* routinefs/ | +401 | 1 reply | |
| 5/85 | nfs41: Add Kconfig symbols for NFSv4.1fs/ | +9 | 1 reply | |
| 6/85 | nfs41: common protocol definitionsinclude/ include/ | +128 | 1 reply | |
| 7/85 | nfs41: define NFS4_MAX_MINOR_VERSION based on CONFIG_NFS_V4_1include/ | +7 | 0 replies | |
| 8/85 | nfs41: client xdr definitionsinclude/ | +118 | 1 reply | |
| 9/85 | nfs41: add mount command option minorversfs/ fs/ | +11 | 1 reply | |
| 10/85 | nfs41: struct nfs_server minorversionfs/ include/ | +3 | 1 reply | |
| 11/85 | nfs41: nfs_client.cl_minorversionfs/ include/ | +3 | 1 reply | |
| 12/85 | nfs41: set nfs_client rpc_ops based on minorversionfs/ fs/ include/ | +54 | 0 replies | |
| 13/85 | nfs41: use ptr to rpc procedures via struct nfs_clientfs/ fs/ fs/ +3 more | +81 | 1 reply | |
| 14/85 | nfs41: sunrpc: support minorversion for rpc_clnt version table.fs/ include/ include/ +1 more | +34 | 1 reply | |
| 15/85 | nfs41: Proper initialization of nfs_client_initdata.rpc_opsfs/ | +2 | 1 reply | |
| 16/85 | nfs41: pass recovery status from reclaimer kthread up to nfs4_wait_clnt_recoverfs/ fs/ include/ | +7 | 1 reply | |
| 17/85 | nfs41: fallback to lower minorversion if nfs4_create_server failsfs/ | +11 | 1 reply | |
| 18/85 | nfs41: sessions client infrastructurefs/ fs/ fs/ +3 more | +130 | 1 reply | |
| 19/85 | nfs41: share client sessions across mountsfs/ fs/ fs/ | +10 | 1 reply | |
| 20/85 | nfs41: slot table init and destroyfs/ include/ | +105 | 1 reply | |
| 21/85 | nfs41: find slotfs/ include/ | +93 | 1 reply | |
| 22/85 | nfs41: free slotfs/ | +54 | 1 reply | |
| 23/85 | nfs41: minorversion support for xdrfs/ include/ net/ | +471 | 1 reply | |
| 24/85 | nfs41: stubs for nfs41 proceduresfs/ fs/ | +28 | 0 replies | |
| 25/85 | nfs41: make nfs4_wait_bit_killable publicfs/ fs/ | +2 | 0 replies | |
| 26/85 | nfs41: introduce nfs4_call_syncfs/ | +96 | 1 reply | |
| 27/85 | nfs41: nfs4_setup_sequencefs/ include/ | +94 | 1 reply | |
| 28/85 | nfs41: setup_sequence methodfs/ include/ | +26 | 0 replies | |
| 29/85 | nfs41: nfs41_sequence_donefs/ include/ | +64 | 1 reply | |
| 30/85 | nfs41: nfs41_call_sync_donefs/ | +18 | 0 replies | |
| 31/85 | nfs41: separate free slot from sequence donefs/ fs/ fs/ +1 more | +50 | 0 replies | |
| 32/85 | nfs41: sequence setup/done supportfs/ fs/ fs/ +4 more | +152 | 0 replies | |
| 33/85 | nfs41: Support sessions with O_DIRECT.fs/ fs/ | +15 | 0 replies | |
| 34/85 | nfs41: exchange_id operationfs/ fs/ include/ +3 more | +254 | 0 replies | |
| 35/85 | nfs41: get_lease_timefs/ fs/ | +140 | 0 replies | |
| 36/85 | nfs41: create_session operationfs/ fs/ include/ | +350 | 0 replies | |
| 37/85 | nfs41: destroy_session operationfs/ fs/ fs/ | +86 | 0 replies | |
| 38/85 | nfs41: sequence operationfs/ fs/ | +201 | 0 replies | |
| 39/85 | nfs41: session recovery infrastructurefs/ fs/ fs/ +2 more | +242 | 0 replies | |
| 40/85 | nfs41: schedule async session resetfs/ fs/ fs/ +1 more | +141 | 0 replies | |
| 41/85 | nfs41: lease renewalfs/ fs/ fs/ +1 more | +81 | 0 replies | |
| 42/85 | nfs41: sunrpc: Export the call prepare state for session resetinclude/ include/ net/ +1 more | +16 | 0 replies | |
| 43/85 | nfs41: use rpc prepare call state for session resetfs/ fs/ fs/ +2 more | +24 | 1 reply | |
| 44/85 | nfs41: kick start nfs41 session recovery when handling errorsfs/ | +71 | 0 replies | |
| 45/85 | nfs41: start session recovery from nfs4_setup_sequencefs/ | +5 | 0 replies | |
| 46/85 | nfs41: introduce get_state_renewal_credfs/ fs/ fs/ +3 more | +36 | 0 replies | |
| 47/85 | nfs41: get cred in exchange_id when cred arg is NULLfs/ fs/ fs/ | +17 | 0 replies | |
| 48/85 | nfs41: establish sessions-based clientidfs/ fs/ fs/ | +9 | 0 replies | |
| 49/85 | nfs41: recover lease in _nfs4_lookup_rootfs/ | +4 | 1 reply | |
| 50/85 | nfs41: schedule state recovery on BAD or DEAD sessionfs/ | +7 | 0 replies | |
| 51/85 | nfs41: state reclaimer renew lease error handlingfs/ | +13 | 0 replies | |
| 52/85 | nfs41: increment_{open,lock}_seqidfs/ fs/ | +13 | 0 replies | |
| 53/85 | nfs41: Add ability to read RPC call direction on TCP stream.net/ | +45 | 1 reply | |
| 54/85 | nfs41: Skip past the RPC call directionnet/ | +7 | 0 replies | |
| 55/85 | nfs41: Refactor NFSv4 callback servicefs/ fs/ fs/ | +57 | 0 replies | |
| 56/85 | nfs41: client callback structuresinclude/ include/ | +32 | 0 replies | |
| 57/85 | nfs41: Initialize new rpc_xprt callback related fieldsnet/ | +5 | 0 replies | |
| 58/85 | nfs41: New backchannel helper routinesinclude/ net/ net/ | +270 | 0 replies | |
| 59/85 | nfs41: New include/linux/sunrpc/bc_xprt.hinclude/ | +40 | 0 replies | |
| 60/85 | nfs41: New xs_tcp_read_data()net/ | +121 | 0 replies | |
| 61/85 | nfs41: Add backchannel processing support to RPC state machineinclude/ include/ net/ +3 more | +133 | 1 reply | |
| 62/85 | nfs41: Backchannel callback service helper routinesinclude/ net/ net/ +1 more | +88 | 0 replies | |
| 63/85 | FIXME: nfs41: sunrpc: handle clnt==NULL in call_statusnet/ | +5 | 0 replies | |
| 64/85 | nfs41: Refactor svc_process()fs/ net/ | +55 | 1 reply | |
| 65/85 | nfs41: Backchannel bc_svc_process()net/ | +49 | 1 reply | |
| 66/85 | nfs41: Implement NFSv4.1 callback service process.fs/ fs/ include/ | +85 | 0 replies | |
| 67/85 | nfs41: sunrpc: provide functions to create and destroy a svc_xprt for backchannel useinclude/ net/ | +41 | 0 replies | |
| 68/85 | nfs41: sunrpc: add a struct svc_xprt pointer to struct svc_serv for backchannel useinclude/ net/ | +5 | 0 replies | |
| 69/85 | nfs41: create a svc_xprt for nfs41 callback thread and use for incoming callbacksfs/ net/ | +17 | 0 replies | |
| 70/85 | nfs41: save svc_serv in nfs_callback_infofs/ | +4 | 0 replies | |
| 71/85 | nfs41: Add a reference to svc_serv during callback service bring upfs/ | +6 | 0 replies | |
| 72/85 | nfs41: Allow NFSv4 and NFSv4.1 callback services to coexistfs/ fs/ fs/ | +29 | 0 replies | |
| 73/85 | nfs41: Setup the backchannelfs/ | +8 | 0 replies | |
| 74/85 | nfs41: Client indicates presence of NFSv4.1 callback channel.fs/ | +1 | 0 replies | |
| 75/85 | nfs41: Get the rpc_xprt * from the rpc_rqst instead of the rpc_clnt.net/ | +2 | 0 replies | |
| 76/85 | nfs41: Release backchannel resources associated with sessionfs/ fs/ | +6 | 0 replies | |
| 77/85 | nfs41: store minorversion in cb_compound_hdr_argfs/ fs/ | +8 | 0 replies | |
| 78/85 | nfs41: decode minorversion 1 cb_compound headerfs/ fs/ | +8 | 0 replies | |
| 79/85 | nfs41: callback numbers definitionsfs/ | +10 | 0 replies | |
| 80/85 | nfs41: consider minorversion in callback_xdr:process_opfs/ | +50 | 0 replies | |
| 81/85 | nfs41: define CB_NOTIFY_DEVICEID as not supportedfs/ fs/ | +2 | 0 replies | |
| 82/85 | nfs41: cb_sequence protocol level data structuresfs/ | +35 | 0 replies | |
| 83/85 | nfs41: cb_sequence proc implementationfs/ fs/ | +34 | 0 replies | |
| 84/85 | nfs41: cb_sequence xdr implementationfs/ | +189 | 0 replies | |
| 85/85 | nfs41: verify CB_SEQUENCE position in callback compoundfs/ | +8 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [RFC 0/85] nfs41 client patches for review
Trond,
Here's the patch series for nfs41 client side, rebased over 2.6.28 for review.
I've cleaned up the patch as much as I could in the given time frame but surely there's more work to be done.
I encourage others to comment on the patches as well.
Thanks,
Benny
pre-nfs41 patches:
[RFC 01/85] sunrpc: get rid of rpc_rqst.rq_bufsize
[RFC 02/85] nfs: return compound hdr.status when there are no op replies [RFC 03/85] nfs: remove incorrect usage of nfs4 compound response hdr.status [RFC 04/85] FIXME: NFS: Increment operation number in each encode_* routine
general defs:
[RFC 05/85] nfs41: Add Kconfig symbols for NFSv4.1
[RFC 06/85] nfs41: common protocol definitions
[RFC 07/85] nfs41: define NFS4_MAX_MINOR_VERSION based on CONFIG_NFS_V4_1 [RFC 08/85] nfs41: client xdr definitions
basic support for minorversion != 0:
[RFC 09/85] nfs41: add mount command option minorvers
[RFC 10/85] nfs41: struct nfs_server minorversion
[RFC 11/85] nfs41: nfs_client.cl_minorversion
[RFC 12/85] nfs41: set nfs_client rpc_ops based on minorversion
[RFC 13/85] nfs41: use ptr to rpc procedures via struct nfs_client
[RFC 14/85] nfs41: sunrpc: support minorversion for rpc_clnt version table. [RFC 15/85] nfs41: Proper initialization of nfs_client_initdata.rpc_ops
[RFC 16/85] nfs41: pass recovery status from reclaimer kthread up to nfs4_wait_clnt_recover [RFC 17/85] nfs41: fallback to lower minorversion if nfs4_create_server fails
sessions basic functionality:
[RFC 18/85] nfs41: sessions client infrastructure [RFC 19/85] nfs41: share client sessions across mounts [RFC 20/85] nfs41: slot table init and destroy [RFC 21/85] nfs41: find slot
[RFC 22/85] nfs41: free slot
support for sequence for legacy ops:
[RFC 23/85] nfs41: minorversion support for xdr [RFC 24/85] nfs41: stubs for nfs41 procedures [RFC 25/85] nfs41: make nfs4_wait_bit_killable public [RFC 26/85] nfs41: introduce nfs4_call_sync [RFC 27/85] nfs41: nfs4_setup_sequence
[RFC 28/85] nfs41: setup_sequence method
[RFC 29/85] nfs41: nfs41_sequence_done
[RFC 30/85] nfs41: nfs41_call_sync_done
[RFC 31/85] nfs41: separate free slot from sequence done [RFC 32/85] nfs41: sequence setup/done support [RFC 33/85] nfs41: Support sessions with O_DIRECT.
nfs41 ops:
[RFC 34/85] nfs41: exchange_id operation
[RFC 35/85] nfs41: get_lease_time
[RFC 36/85] nfs41: create_session operation
[RFC 37/85] nfs41: destroy_session operation
[RFC 38/85] nfs41: sequence operation
session setup and recovery:
[RFC 39/85] nfs41: session recovery infrastructure
[RFC 40/85] nfs41: schedule async session reset
[RFC 41/85] nfs41: lease renewal
[RFC 42/85] nfs41: sunrpc: Export the call prepare state for session reset [RFC 43/85] nfs41: use rpc prepare call state for session reset [RFC 44/85] nfs41: kick start nfs41 session recovery when handling errors [RFC 45/85] nfs41: start session recovery from nfs4_setup_sequence [RFC 46/85] nfs41: introduce get_state_renewal_cred
[RFC 47/85] nfs41: get cred in exchange_id when cred arg is NULL [RFC 48/85] nfs41: establish sessions-based clientid
[RFC 49/85] nfs41: recover lease in _nfs4_lookup_root
[RFC 50/85] nfs41: schedule state recovery on BAD or DEAD session [RFC 51/85] nfs41: state reclaimer renew lease error handling [RFC 52/85] nfs41: increment_{open,lock}_seqid
backchannel:
[RFC 53/85] nfs41: Add ability to read RPC call direction on TCP stream. [RFC 54/85] nfs41: Skip past the RPC call direction
[RFC 55/85] nfs41: Refactor NFSv4 callback service
[RFC 56/85] nfs41: client callback structures
[RFC 57/85] nfs41: Initialize new rpc_xprt callback related fields [RFC 58/85] nfs41: New backchannel helper routines
[RFC 59/85] nfs41: New include/linux/sunrpc/bc_xprt.h
[RFC 60/85] nfs41: New xs_tcp_read_data()
[RFC 61/85] nfs41: Add backchannel processing support to RPC state machine [RFC 62/85] nfs41: Backchannel callback service helper routines [RFC 63/85] FIXME: nfs41: sunrpc: handle clnt==NULL in call_status
callback service:
[RFC 64/85] nfs41: Refactor svc_process()
[RFC 65/85] nfs41: Backchannel bc_svc_process()
[RFC 66/85] nfs41: Implement NFSv4.1 callback service process.
[RFC 67/85] nfs41: sunrpc: provide functions to create and destroy a svc_xprt for backchannel use [RFC 68/85] nfs41: sunrpc: add a struct svc_xprt pointer to struct svc_serv for backchannel use [RFC 69/85] nfs41: create a svc_xprt for nfs41 callback thread and use for incoming callbacks [RFC 70/85] nfs41: save svc_serv in nfs_callback_info
[RFC 71/85] nfs41: Add a reference to svc_serv during callback service bring up [RFC 72/85] nfs41: Allow NFSv4 and NFSv4.1 callback services to coexist
[RFC 73/85] nfs41: Setup the backchannel
[RFC 74/85] nfs41: Client indicates presence of NFSv4.1 callback channel.
[RFC 75/85] nfs41: Get the rpc_xprt * from the rpc_rqst instead of the rpc_clnt. [RFC 76/85] nfs41: Release backchannel resources associated with session
callback processing:
[RFC 77/85] nfs41: store minorversion in cb_compound_hdr_arg [RFC 78/85] nfs41: decode minorversion 1 cb_compound header [RFC 79/85] nfs41: callback numbers definitions
[RFC 80/85] nfs41: consider minorversion in callback_xdr:process_op [RFC 81/85] nfs41: define CB_NOTIFY_DEVICEID as not supported [RFC 82/85] nfs41: cb_sequence protocol level data structures [RFC 83/85] nfs41: cb_sequence proc implementation
[RFC 84/85] nfs41: cb_sequence xdr implementation
[RFC 85/85] nfs41: verify CB_SEQUENCE position in callback compound