From: Benny Halevy <bhalevy@panasas.com>
To: pnfs@linux-nfs.org
Cc: trond.myklebust@fys.uio.no, linux-nfs@vger.kernel.org
Subject: Re: [pnfs] [RFC 08/85] nfs41: client xdr definitions
Date: Mon, 17 Nov 2008 15:31:13 +0200 [thread overview]
Message-ID: <49217221.8030103@panasas.com> (raw)
In-Reply-To: <1226348352-7271-1-git-send-email-bhalevy@panasas.com>
On Nov. 10, 2008, 22:19 +0200, Benny Halevy <bhalevy@panasas.com> wrote:
> Define stubs for sequence args and res data structures and embed
> them in all other nfs4 and nfs41 xdr types. They are needed for
> sending any op in a nfs41 compound rpc.
>
> Signed-off-by: Andy Adamson<andros@netapp.com>
> Signed-off-by: Benny Halevy <bhalevy@panasas.com>
> ---
> include/linux/nfs_xdr.h | 118 +++++++++++++++++++++++++++++++++++++++++++++++
> 1 files changed, 118 insertions(+), 0 deletions(-)
>
> diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h
> index c1c31ac..a8a0953 100644
> --- a/include/linux/nfs_xdr.h
> +++ b/include/linux/nfs_xdr.h
> @@ -113,6 +113,43 @@ struct nfs4_change_info {
> };
>
> struct nfs_seqid;
> +
> +/* Opaque session ID */
> +struct sessionid4 {
> + char data[NFS4_MAX_SESSIONID_LEN];
> +};
review 11-14: this is redundant.
> +
> +struct nfs41_sequence_args {
> + /* stub */
> +};
> +
> +#define SEQ4_STATUS_CB_PATH_DOWN 0x00000001
> +#define SEQ4_STATUS_CB_GSS_CONTEXTS_EXPIRING 0x00000002
> +#define SEQ4_STATUS_CB_GSS_CONTEXTS_EXPIRED 0x00000004
> +#define SEQ4_STATUS_EXPIRED_ALL_STATE_REVOKED 0x00000008
> +#define SEQ4_STATUS_EXPIRED_SOME_STATE_REVOKED 0x00000010
> +#define SEQ4_STATUS_ADMIN_STATE_REVOKED 0x00000020
> +#define SEQ4_STATUS_RECALLABLE_STATE_REVOKED 0x00000040
> +#define SEQ4_STATUS_LEASE_MOVED 0x00000080
> +#define SEQ4_STATUS_RESTART_RECLAIM_NEEDED 0x00000100
> +
> +struct nfs41_sequence_res {
> + /* stub */
> +};
> +
> +#if defined(CONFIG_NFS_V4_1)
review 11-14: no need for #ifdef
> +
> +struct nfs4_get_lease_time_args {
> + struct nfs41_sequence_args la_seq_args;
> +};
> +
> +struct nfs4_get_lease_time_res {
> + struct nfs_fsinfo *lr_fsinfo;
> + struct nfs41_sequence_res lr_seq_res;
> +};
> +
> +#endif /* CONFIG_NFS_V4_1 */
> +
> /*
> * Arguments to the open call.
> */
> @@ -132,6 +169,7 @@ struct nfs_openargs {
> const struct nfs_server *server; /* Needed for ID mapping */
> const u32 * bitmask;
> __u32 claim;
> + struct nfs41_sequence_args seq_args;
review 11-14: discussed embedding seq_args/res vs. having a wrapper
structure a-la
struct nfs_rpc_args {
void *op_args;
struct nfs41_sequence_args seq_args;
};
struct nfs_rpc_res {
void *op_res;
struct nfs41_sequence_res seq_res;
};
Trond prefers the former (keep current).
> };
>
> struct nfs_openres {
> @@ -148,6 +186,7 @@ struct nfs_openres {
> __u32 do_recall;
> __u64 maxsize;
> __u32 attrset[NFS4_BITMAP_SIZE];
> + struct nfs41_sequence_res seq_res;
> };
>
> /*
> @@ -173,6 +212,7 @@ struct nfs_closeargs {
> struct nfs_seqid * seqid;
> int open_flags;
> const u32 * bitmask;
> + struct nfs41_sequence_args seq_args;
> };
>
> struct nfs_closeres {
> @@ -180,6 +220,7 @@ struct nfs_closeres {
> struct nfs_fattr * fattr;
> struct nfs_seqid * seqid;
> const struct nfs_server *server;
> + struct nfs41_sequence_res seq_res;
> };
> /*
> * * Arguments to the lock,lockt, and locku call.
> @@ -200,12 +241,14 @@ struct nfs_lock_args {
> unsigned char block : 1;
> unsigned char reclaim : 1;
> unsigned char new_lock_owner : 1;
> + struct nfs41_sequence_args seq_args;
> };
>
> struct nfs_lock_res {
> nfs4_stateid stateid;
> struct nfs_seqid * lock_seqid;
> struct nfs_seqid * open_seqid;
> + struct nfs41_sequence_res seq_res;
> };
>
> struct nfs_locku_args {
> @@ -213,32 +256,38 @@ struct nfs_locku_args {
> struct file_lock * fl;
> struct nfs_seqid * seqid;
> nfs4_stateid * stateid;
> + struct nfs41_sequence_args seq_args;
> };
>
> struct nfs_locku_res {
> nfs4_stateid stateid;
> struct nfs_seqid * seqid;
> + struct nfs41_sequence_res seq_res;
> };
>
> struct nfs_lockt_args {
> struct nfs_fh * fh;
> struct file_lock * fl;
> struct nfs_lowner lock_owner;
> + struct nfs41_sequence_args seq_args;
> };
>
> struct nfs_lockt_res {
> struct file_lock * denied; /* LOCK, LOCKT failed */
> + struct nfs41_sequence_res seq_res;
> };
>
> struct nfs4_delegreturnargs {
> const struct nfs_fh *fhandle;
> const nfs4_stateid *stateid;
> const u32 * bitmask;
> + struct nfs41_sequence_args seq_args;
> };
>
> struct nfs4_delegreturnres {
> struct nfs_fattr * fattr;
> const struct nfs_server *server;
> + struct nfs41_sequence_res seq_res;
> };
>
> /*
> @@ -251,12 +300,14 @@ struct nfs_readargs {
> __u32 count;
> unsigned int pgbase;
> struct page ** pages;
> + struct nfs41_sequence_args seq_args;
> };
>
> struct nfs_readres {
> struct nfs_fattr * fattr;
> __u32 count;
> int eof;
> + struct nfs41_sequence_res seq_res;
> };
>
> /*
> @@ -271,6 +322,7 @@ struct nfs_writeargs {
> unsigned int pgbase;
> struct page ** pages;
> const u32 * bitmask;
> + struct nfs41_sequence_args seq_args;
> };
>
> struct nfs_writeverf {
> @@ -283,6 +335,7 @@ struct nfs_writeres {
> struct nfs_writeverf * verf;
> __u32 count;
> const struct nfs_server *server;
> + struct nfs41_sequence_res seq_res;
> };
>
> /*
> @@ -292,12 +345,14 @@ struct nfs_removeargs {
> const struct nfs_fh *fh;
> struct qstr name;
> const u32 * bitmask;
> + struct nfs41_sequence_args seq_args;
> };
>
> struct nfs_removeres {
> const struct nfs_server *server;
> struct nfs4_change_info cinfo;
> struct nfs_fattr dir_attr;
> + struct nfs41_sequence_res seq_res;
> };
>
> /*
> @@ -350,6 +405,7 @@ struct nfs_setattrargs {
> struct iattr * iap;
> const struct nfs_server * server; /* Needed for name mapping */
> const u32 * bitmask;
> + struct nfs41_sequence_args seq_args;
> };
>
> struct nfs_setaclargs {
> @@ -357,6 +413,11 @@ struct nfs_setaclargs {
> size_t acl_len;
> unsigned int acl_pgbase;
> struct page ** acl_pages;
> + struct nfs41_sequence_args seq_args;
> +};
> +
> +struct nfs_setaclres {
> + struct nfs41_sequence_res seq_res;
> };
>
> struct nfs_getaclargs {
> @@ -364,11 +425,18 @@ struct nfs_getaclargs {
> size_t acl_len;
> unsigned int acl_pgbase;
> struct page ** acl_pages;
> + struct nfs41_sequence_args seq_args;
> +};
> +
> +struct nfs_getaclres {
> + size_t *acl_len;
> + struct nfs41_sequence_res seq_res;
> };
>
> struct nfs_setattrres {
> struct nfs_fattr * fattr;
> const struct nfs_server * server;
> + struct nfs41_sequence_res seq_res;
> };
>
> struct nfs_linkargs {
> @@ -548,6 +616,7 @@ struct nfs4_accessargs {
> const struct nfs_fh * fh;
> const u32 * bitmask;
> u32 access;
> + struct nfs41_sequence_args seq_args;
> };
>
> struct nfs4_accessres {
> @@ -555,6 +624,7 @@ struct nfs4_accessres {
> struct nfs_fattr * fattr;
> u32 supported;
> u32 access;
> + struct nfs41_sequence_res seq_res;
> };
>
> struct nfs4_create_arg {
> @@ -574,6 +644,7 @@ struct nfs4_create_arg {
> const struct iattr * attrs;
> const struct nfs_fh * dir_fh;
> const u32 * bitmask;
> + struct nfs41_sequence_args seq_args;
> };
>
> struct nfs4_create_res {
> @@ -582,21 +653,30 @@ struct nfs4_create_res {
> struct nfs_fattr * fattr;
> struct nfs4_change_info dir_cinfo;
> struct nfs_fattr * dir_fattr;
> + struct nfs41_sequence_res seq_res;
> };
>
> struct nfs4_fsinfo_arg {
> const struct nfs_fh * fh;
> const u32 * bitmask;
> + struct nfs41_sequence_args seq_args;
> +};
> +
> +struct nfs4_fsinfo_res {
> + struct nfs_fsinfo *fsinfo;
> + struct nfs41_sequence_res seq_res;
> };
>
> struct nfs4_getattr_arg {
> const struct nfs_fh * fh;
> const u32 * bitmask;
> + struct nfs41_sequence_args seq_args;
> };
>
> struct nfs4_getattr_res {
> const struct nfs_server * server;
> struct nfs_fattr * fattr;
> + struct nfs41_sequence_res seq_res;
> };
>
> struct nfs4_link_arg {
> @@ -604,6 +684,7 @@ struct nfs4_link_arg {
> const struct nfs_fh * dir_fh;
> const struct qstr * name;
> const u32 * bitmask;
> + struct nfs41_sequence_args seq_args;
> };
>
> struct nfs4_link_res {
> @@ -611,6 +692,7 @@ struct nfs4_link_res {
> struct nfs_fattr * fattr;
> struct nfs4_change_info cinfo;
> struct nfs_fattr * dir_attr;
> + struct nfs41_sequence_res seq_res;
> };
>
>
> @@ -618,21 +700,30 @@ struct nfs4_lookup_arg {
> const struct nfs_fh * dir_fh;
> const struct qstr * name;
> const u32 * bitmask;
> + struct nfs41_sequence_args seq_args;
> };
>
> struct nfs4_lookup_res {
> const struct nfs_server * server;
> struct nfs_fattr * fattr;
> struct nfs_fh * fh;
> + struct nfs41_sequence_res seq_res;
> };
>
> struct nfs4_lookup_root_arg {
> const u32 * bitmask;
> + struct nfs41_sequence_args seq_args;
> };
>
> struct nfs4_pathconf_arg {
> const struct nfs_fh * fh;
> const u32 * bitmask;
> + struct nfs41_sequence_args seq_args;
> +};
> +
> +struct nfs4_pathconf_res {
> + struct nfs_pathconf *pathconf;
> + struct nfs41_sequence_res seq_res;
> };
>
> struct nfs4_readdir_arg {
> @@ -643,11 +734,13 @@ struct nfs4_readdir_arg {
> struct page ** pages; /* zero-copy data */
> unsigned int pgbase; /* zero-copy data */
> const u32 * bitmask;
> + struct nfs41_sequence_args seq_args;
> };
>
> struct nfs4_readdir_res {
> nfs4_verifier verifier;
> unsigned int pgbase;
> + struct nfs41_sequence_res seq_res;
> };
>
> struct nfs4_readlink {
> @@ -655,6 +748,11 @@ struct nfs4_readlink {
> unsigned int pgbase;
> unsigned int pglen; /* zero-copy data */
> struct page ** pages; /* zero-copy data */
> + struct nfs41_sequence_args seq_args;
> +};
> +
> +struct nfs4_readlink_res {
> + struct nfs41_sequence_res seq_res;
> };
>
> struct nfs4_rename_arg {
> @@ -663,6 +761,7 @@ struct nfs4_rename_arg {
> const struct qstr * old_name;
> const struct qstr * new_name;
> const u32 * bitmask;
> + struct nfs41_sequence_args seq_args;
> };
>
> struct nfs4_rename_res {
> @@ -671,6 +770,7 @@ struct nfs4_rename_res {
> struct nfs_fattr * old_fattr;
> struct nfs4_change_info new_cinfo;
> struct nfs_fattr * new_fattr;
> + struct nfs41_sequence_res seq_res;
> };
>
> #define NFS4_SETCLIENTID_NAMELEN (127)
> @@ -689,6 +789,17 @@ struct nfs4_setclientid {
> struct nfs4_statfs_arg {
> const struct nfs_fh * fh;
> const u32 * bitmask;
> + struct nfs41_sequence_args seq_args;
> +};
> +
> +struct nfs4_statfs_res {
> + struct nfs_fsstat *fsstat;
> + struct nfs41_sequence_res seq_res;
> +};
> +
> +struct nfs4_server_caps_arg {
> + struct nfs_fh *fhandle;
> + struct nfs41_sequence_args seq_args;
> };
>
> struct nfs4_server_caps_res {
> @@ -696,6 +807,7 @@ struct nfs4_server_caps_res {
> u32 acl_bitmask;
> u32 has_links;
> u32 has_symlinks;
> + struct nfs41_sequence_res seq_res;
> };
>
> struct nfs4_string {
> @@ -730,6 +842,12 @@ struct nfs4_fs_locations_arg {
> const struct qstr *name;
> struct page *page;
> const u32 *bitmask;
> + struct nfs41_sequence_args seq_args;
> +};
> +
> +struct nfs4_fs_locations_res {
> + struct nfs4_fs_locations *fs_locations;
> + struct nfs41_sequence_res seq_res;
> };
>
> #endif /* CONFIG_NFS_V4 */
next prev parent reply other threads:[~2008-11-17 13:36 UTC|newest]
Thread overview: 115+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-10 19:57 [RFC 0/85] nfs41 client patches for review Benny Halevy
2008-11-10 20:05 ` [RFC 03/85] nfs: remove incorrect usage of nfs4 compound response hdr.status Benny Halevy
2008-11-17 13:24 ` [pnfs] " Benny Halevy
2008-11-10 20:18 ` [RFC 04/85] FIXME: NFS: Increment operation number in each encode_* routine Benny Halevy
2008-11-17 13:26 ` [pnfs] " Benny Halevy
2008-11-10 20:18 ` [RFC 05/85] nfs41: Add Kconfig symbols for NFSv4.1 Benny Halevy
2008-11-17 13:27 ` [pnfs] " Benny Halevy
2008-11-10 20:18 ` [RFC 06/85] nfs41: common protocol definitions Benny Halevy
2008-11-17 13:28 ` [pnfs] " Benny Halevy
2008-11-10 20:19 ` [RFC 07/85] nfs41: define NFS4_MAX_MINOR_VERSION based on CONFIG_NFS_V4_1 Benny Halevy
2008-11-10 20:19 ` [RFC 08/85] nfs41: client xdr definitions Benny Halevy
2008-11-17 13:31 ` Benny Halevy [this message]
2008-11-10 20:19 ` [RFC 09/85] nfs41: add mount command option minorvers Benny Halevy
2008-11-17 13:34 ` [pnfs] " Benny Halevy
2008-11-10 20:19 ` [RFC 10/85] nfs41: struct nfs_server minorversion Benny Halevy
2008-11-17 13:34 ` [pnfs] " Benny Halevy
2008-11-10 20:19 ` [RFC 11/85] nfs41: nfs_client.cl_minorversion Benny Halevy
2008-11-17 13:37 ` [pnfs] " Benny Halevy
2008-11-10 20:19 ` [RFC 12/85] nfs41: set nfs_client rpc_ops based on minorversion Benny Halevy
2008-11-10 20:20 ` [RFC 13/85] nfs41: use ptr to rpc procedures via struct nfs_client Benny Halevy
2008-11-17 13:40 ` [pnfs] " Benny Halevy
2008-11-10 20:20 ` [RFC 14/85] nfs41: sunrpc: support minorversion for rpc_clnt version table Benny Halevy
2008-11-17 13:41 ` [pnfs] " Benny Halevy
2008-11-10 20:20 ` [RFC 15/85] nfs41: Proper initialization of nfs_client_initdata.rpc_ops Benny Halevy
2008-11-17 13:41 ` [pnfs] " Benny Halevy
2008-11-10 20:20 ` [RFC 16/85] nfs41: pass recovery status from reclaimer kthread up to nfs4_wait_clnt_recover Benny Halevy
2008-11-17 13:42 ` [pnfs] " Benny Halevy
2008-11-10 20:20 ` [RFC 17/85] nfs41: fallback to lower minorversion if nfs4_create_server fails Benny Halevy
2008-11-17 13:43 ` [pnfs] " Benny Halevy
2008-11-10 20:20 ` [RFC 18/85] nfs41: sessions client infrastructure Benny Halevy
2008-11-17 13:44 ` [pnfs] " Benny Halevy
2008-11-10 20:21 ` [RFC 19/85] nfs41: share client sessions across mounts Benny Halevy
2008-11-17 13:45 ` [pnfs] " Benny Halevy
2008-11-10 20:21 ` [RFC 20/85] nfs41: slot table init and destroy Benny Halevy
2008-11-17 13:46 ` [pnfs] " Benny Halevy
2008-11-10 20:21 ` [RFC 21/85] nfs41: find slot Benny Halevy
2008-11-17 13:46 ` [pnfs] " Benny Halevy
2008-11-10 20:21 ` [RFC 22/85] nfs41: free slot Benny Halevy
2008-11-17 13:47 ` [pnfs] " Benny Halevy
2008-11-10 20:21 ` [RFC 23/85] nfs41: minorversion support for xdr Benny Halevy
2008-11-17 13:48 ` [pnfs] " Benny Halevy
2008-11-10 20:22 ` [RFC 24/85] nfs41: stubs for nfs41 procedures Benny Halevy
2008-11-10 20:22 ` [RFC 25/85] nfs41: make nfs4_wait_bit_killable public Benny Halevy
2008-11-10 20:22 ` [RFC 26/85] nfs41: introduce nfs4_call_sync Benny Halevy
2008-11-17 13:49 ` [pnfs] " Benny Halevy
2008-11-10 20:22 ` [RFC 27/85] nfs41: nfs4_setup_sequence Benny Halevy
2008-11-17 13:49 ` [pnfs] " Benny Halevy
2008-11-10 20:22 ` [RFC 28/85] nfs41: setup_sequence method Benny Halevy
2008-11-10 20:23 ` [RFC 02/85] nfs: return compound hdr.status when there are no op replies Benny Halevy
2008-11-10 20:23 ` [RFC 29/85] nfs41: nfs41_sequence_done Benny Halevy
2008-11-17 13:50 ` [pnfs] " Benny Halevy
2008-11-10 20:23 ` [RFC 30/85] nfs41: nfs41_call_sync_done Benny Halevy
2008-11-10 20:23 ` [RFC 31/85] nfs41: separate free slot from sequence done Benny Halevy
2008-11-10 20:23 ` [RFC 32/85] nfs41: sequence setup/done support Benny Halevy
2008-11-10 20:23 ` [RFC 33/85] nfs41: Support sessions with O_DIRECT Benny Halevy
2008-11-10 20:24 ` [RFC 34/85] nfs41: exchange_id operation Benny Halevy
2008-11-10 20:24 ` [RFC 35/85] nfs41: get_lease_time Benny Halevy
2008-11-10 20:24 ` [RFC 36/85] nfs41: create_session operation Benny Halevy
2008-11-10 20:24 ` [RFC 37/85] nfs41: destroy_session operation Benny Halevy
2008-11-10 20:24 ` [RFC 38/85] nfs41: sequence operation Benny Halevy
2008-11-10 20:25 ` [RFC 39/85] nfs41: session recovery infrastructure Benny Halevy
2008-11-10 20:25 ` [RFC 40/85] nfs41: schedule async session reset Benny Halevy
2008-11-10 20:25 ` [RFC 41/85] nfs41: lease renewal Benny Halevy
2008-11-10 20:25 ` [RFC 42/85] nfs41: sunrpc: Export the call prepare state for session reset Benny Halevy
2008-11-10 20:25 ` [RFC 43/85] nfs41: use rpc prepare call " Benny Halevy
2008-11-11 8:01 ` [pnfs] [RFC 43/85] nfs41: use rpc prepare call state for sessionreset Halevy, Benny
2008-11-10 20:25 ` [RFC 44/85] nfs41: kick start nfs41 session recovery when handling errors Benny Halevy
2008-11-10 20:26 ` [RFC 45/85] nfs41: start session recovery from nfs4_setup_sequence Benny Halevy
2008-11-10 20:26 ` [RFC 46/85] nfs41: introduce get_state_renewal_cred Benny Halevy
2008-11-10 20:26 ` [RFC 47/85] nfs41: get cred in exchange_id when cred arg is NULL Benny Halevy
2008-11-10 20:26 ` [RFC 48/85] nfs41: establish sessions-based clientid Benny Halevy
2008-11-10 20:26 ` [RFC 49/85] nfs41: recover lease in _nfs4_lookup_root Benny Halevy
2008-11-17 13:51 ` [pnfs] " Benny Halevy
2008-11-10 20:27 ` [RFC 50/85] nfs41: schedule state recovery on BAD or DEAD session Benny Halevy
2008-11-10 20:27 ` [RFC 51/85] nfs41: state reclaimer renew lease error handling Benny Halevy
2008-11-10 20:27 ` [RFC 52/85] nfs41: increment_{open,lock}_seqid Benny Halevy
2008-11-10 20:27 ` [RFC 53/85] nfs41: Add ability to read RPC call direction on TCP stream Benny Halevy
2008-11-17 13:52 ` [pnfs] " Benny Halevy
2008-11-10 20:27 ` [RFC 54/85] nfs41: Skip past the RPC call direction Benny Halevy
2008-11-10 20:27 ` [RFC 55/85] nfs41: Refactor NFSv4 callback service Benny Halevy
2008-11-10 20:28 ` [RFC 56/85] nfs41: client callback structures Benny Halevy
2008-11-10 20:28 ` [RFC 57/85] nfs41: Initialize new rpc_xprt callback related fields Benny Halevy
2008-11-10 20:28 ` [RFC 58/85] nfs41: New backchannel helper routines Benny Halevy
2008-11-10 20:28 ` [RFC 59/85] nfs41: New include/linux/sunrpc/bc_xprt.h Benny Halevy
2008-11-10 20:28 ` [RFC 60/85] nfs41: New xs_tcp_read_data() Benny Halevy
2008-11-10 20:29 ` [RFC 61/85] nfs41: Add backchannel processing support to RPC state machine Benny Halevy
2008-11-17 13:53 ` [pnfs] " Benny Halevy
2008-11-10 20:29 ` [RFC 62/85] nfs41: Backchannel callback service helper routines Benny Halevy
2008-11-10 20:29 ` [RFC 63/85] FIXME: nfs41: sunrpc: handle clnt==NULL in call_status Benny Halevy
2008-11-10 20:29 ` [RFC 64/85] nfs41: Refactor svc_process() Benny Halevy
2008-11-17 13:54 ` [pnfs] " Benny Halevy
2008-11-10 20:29 ` [RFC 65/85] nfs41: Backchannel bc_svc_process() Benny Halevy
2008-11-17 13:55 ` [pnfs] " Benny Halevy
2008-11-10 20:30 ` [RFC 66/85] nfs41: Implement NFSv4.1 callback service process Benny Halevy
2008-11-10 20:30 ` [RFC 67/85] nfs41: sunrpc: provide functions to create and destroy a svc_xprt for backchannel use Benny Halevy
2008-11-10 20:30 ` [RFC 68/85] nfs41: sunrpc: add a struct svc_xprt pointer to struct svc_serv " Benny Halevy
2008-11-10 20:30 ` [RFC 69/85] nfs41: create a svc_xprt for nfs41 callback thread and use for incoming callbacks Benny Halevy
2008-11-10 20:30 ` [RFC 70/85] nfs41: save svc_serv in nfs_callback_info Benny Halevy
2008-11-10 20:30 ` [RFC 71/85] nfs41: Add a reference to svc_serv during callback service bring up Benny Halevy
2008-11-10 20:31 ` [RFC 72/85] nfs41: Allow NFSv4 and NFSv4.1 callback services to coexist Benny Halevy
2008-11-10 20:31 ` [RFC 73/85] nfs41: Setup the backchannel Benny Halevy
2008-11-10 20:31 ` [RFC 74/85] nfs41: Client indicates presence of NFSv4.1 callback channel Benny Halevy
2008-11-10 20:31 ` [RFC 75/85] nfs41: Get the rpc_xprt * from the rpc_rqst instead of the rpc_clnt Benny Halevy
2008-11-10 20:31 ` [RFC 76/85] nfs41: Release backchannel resources associated with session Benny Halevy
2008-11-10 20:31 ` [RFC 77/85] nfs41: store minorversion in cb_compound_hdr_arg Benny Halevy
2008-11-10 20:32 ` [RFC 78/85] nfs41: decode minorversion 1 cb_compound header Benny Halevy
2008-11-10 20:32 ` [RFC 79/85] nfs41: callback numbers definitions Benny Halevy
2008-11-10 20:32 ` [RFC 80/85] nfs41: consider minorversion in callback_xdr:process_op Benny Halevy
2008-11-10 20:32 ` [RFC 81/85] nfs41: define CB_NOTIFY_DEVICEID as not supported Benny Halevy
2008-11-10 20:32 ` [RFC 82/85] nfs41: cb_sequence protocol level data structures Benny Halevy
2008-11-10 20:33 ` [RFC 83/85] nfs41: cb_sequence proc implementation Benny Halevy
2008-11-10 20:33 ` [RFC 84/85] nfs41: cb_sequence xdr implementation Benny Halevy
2008-11-10 20:33 ` [RFC 85/85] nfs41: verify CB_SEQUENCE position in callback compound Benny Halevy
2008-11-10 20:37 ` [pnfs] [RFC 0/85] nfs41 client patches for review Benny Halevy
2008-11-10 20:42 ` J. Bruce Fields
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=49217221.8030103@panasas.com \
--to=bhalevy@panasas.com \
--cc=linux-nfs@vger.kernel.org \
--cc=pnfs@linux-nfs.org \
--cc=trond.myklebust@fys.uio.no \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.