nfsv4.1 Add TEST_STATEID operation
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>master
parent
523df1eee4
commit
d690031049
|
@ -3371,6 +3371,46 @@ zdr_SET_SSV4res (ZDR *zdrs, SET_SSV4res *objp)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
uint32_t
|
||||
zdr_TEST_STATEID4args (ZDR *zdrs, TEST_STATEID4args *objp)
|
||||
{
|
||||
|
||||
|
||||
if (!zdr_array (zdrs, (char **)&objp->ts_stateids.ts_stateids_val, (u_int *) &objp->ts_stateids.ts_stateids_len, ~0,
|
||||
sizeof (stateid4), (zdrproc_t) zdr_stateid4))
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
uint32_t
|
||||
zdr_TEST_STATEID4resok (ZDR *zdrs, TEST_STATEID4resok *objp)
|
||||
{
|
||||
|
||||
|
||||
if (!zdr_array (zdrs, (char **)&objp->tsr_status_codes.tsr_status_codes_val, (u_int *) &objp->tsr_status_codes.tsr_status_codes_len, ~0,
|
||||
sizeof (nfsstat4), (zdrproc_t) zdr_nfsstat4))
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
uint32_t
|
||||
zdr_TEST_STATEID4res (ZDR *zdrs, TEST_STATEID4res *objp)
|
||||
{
|
||||
|
||||
|
||||
if (!zdr_nfsstat4 (zdrs, &objp->tsr_status))
|
||||
return FALSE;
|
||||
switch (objp->tsr_status) {
|
||||
case NFS4_OK:
|
||||
if (!zdr_TEST_STATEID4resok (zdrs, &objp->TEST_STATEID4res_u.tsr_resok4))
|
||||
return FALSE;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
uint32_t
|
||||
zdr_ILLEGAL4res (ZDR *zdrs, ILLEGAL4res *objp)
|
||||
{
|
||||
|
@ -3573,6 +3613,10 @@ zdr_nfs_argop4 (ZDR *zdrs, nfs_argop4 *objp)
|
|||
if (!zdr_SET_SSV4args (zdrs, &objp->nfs_argop4_u.opsetssv))
|
||||
return FALSE;
|
||||
break;
|
||||
case OP_TEST_STATEID:
|
||||
if (!zdr_TEST_STATEID4args (zdrs, &objp->nfs_argop4_u.opteststateid))
|
||||
return FALSE;
|
||||
break;
|
||||
case OP_ILLEGAL:
|
||||
break;
|
||||
default:
|
||||
|
@ -3777,6 +3821,10 @@ zdr_nfs_resop4 (ZDR *zdrs, nfs_resop4 *objp)
|
|||
if (!zdr_SET_SSV4res (zdrs, &objp->nfs_resop4_u.opsetssv))
|
||||
return FALSE;
|
||||
break;
|
||||
case OP_TEST_STATEID:
|
||||
if (!zdr_TEST_STATEID4res (zdrs, &objp->nfs_resop4_u.opteststateid))
|
||||
return FALSE;
|
||||
break;
|
||||
case OP_ILLEGAL:
|
||||
if (!zdr_ILLEGAL4res (zdrs, &objp->nfs_resop4_u.opillegal))
|
||||
return FALSE;
|
||||
|
|
|
@ -1707,6 +1707,30 @@ struct SET_SSV4res {
|
|||
};
|
||||
typedef struct SET_SSV4res SET_SSV4res;
|
||||
|
||||
struct TEST_STATEID4args {
|
||||
struct {
|
||||
u_int ts_stateids_len;
|
||||
stateid4 *ts_stateids_val;
|
||||
} ts_stateids;
|
||||
};
|
||||
typedef struct TEST_STATEID4args TEST_STATEID4args;
|
||||
|
||||
struct TEST_STATEID4resok {
|
||||
struct {
|
||||
u_int tsr_status_codes_len;
|
||||
nfsstat4 *tsr_status_codes_val;
|
||||
} tsr_status_codes;
|
||||
};
|
||||
typedef struct TEST_STATEID4resok TEST_STATEID4resok;
|
||||
|
||||
struct TEST_STATEID4res {
|
||||
nfsstat4 tsr_status;
|
||||
union {
|
||||
TEST_STATEID4resok tsr_resok4;
|
||||
} TEST_STATEID4res_u;
|
||||
};
|
||||
typedef struct TEST_STATEID4res TEST_STATEID4res;
|
||||
|
||||
struct ILLEGAL4res {
|
||||
nfsstat4 status;
|
||||
};
|
||||
|
@ -1761,6 +1785,7 @@ enum nfs_opnum4 {
|
|||
OP_LAYOUTRETURN = 51,
|
||||
OP_SEQUENCE = 53,
|
||||
OP_SET_SSV = 54,
|
||||
OP_TEST_STATEID = 55,
|
||||
OP_ILLEGAL = 10044,
|
||||
};
|
||||
typedef enum nfs_opnum4 nfs_opnum4;
|
||||
|
@ -1808,6 +1833,7 @@ struct nfs_argop4 {
|
|||
LAYOUTRETURN4args oplayoutreturn;
|
||||
SEQUENCE4args opsequence;
|
||||
SET_SSV4args opsetssv;
|
||||
TEST_STATEID4args opteststateid;
|
||||
} nfs_argop4_u;
|
||||
};
|
||||
typedef struct nfs_argop4 nfs_argop4;
|
||||
|
@ -1862,6 +1888,7 @@ struct nfs_resop4 {
|
|||
LAYOUTRETURN4res oplayoutreturn;
|
||||
SEQUENCE4res opsequence;
|
||||
SET_SSV4res opsetssv;
|
||||
TEST_STATEID4res opteststateid;
|
||||
ILLEGAL4res opillegal;
|
||||
} nfs_resop4_u;
|
||||
};
|
||||
|
@ -2276,6 +2303,9 @@ extern uint32_t zdr_SET_SSV4args (ZDR *, SET_SSV4args*);
|
|||
extern uint32_t zdr_ssr_digest_input4 (ZDR *, ssr_digest_input4*);
|
||||
extern uint32_t zdr_SET_SSV4resok (ZDR *, SET_SSV4resok*);
|
||||
extern uint32_t zdr_SET_SSV4res (ZDR *, SET_SSV4res*);
|
||||
extern uint32_t zdr_TEST_STATEID4args (ZDR *, TEST_STATEID4args*);
|
||||
extern uint32_t zdr_TEST_STATEID4resok (ZDR *, TEST_STATEID4resok*);
|
||||
extern uint32_t zdr_TEST_STATEID4res (ZDR *, TEST_STATEID4res*);
|
||||
extern uint32_t zdr_ILLEGAL4res (ZDR *, ILLEGAL4res*);
|
||||
extern uint32_t zdr_nfs_opnum4 (ZDR *, nfs_opnum4*);
|
||||
extern uint32_t zdr_nfs_argop4 (ZDR *, nfs_argop4*);
|
||||
|
@ -2554,6 +2584,9 @@ extern uint32_t zdr_SET_SSV4args ();
|
|||
extern uint32_t zdr_ssr_digest_input4 ();
|
||||
extern uint32_t zdr_SET_SSV4resok ();
|
||||
extern uint32_t zdr_SET_SSV4res ();
|
||||
extern uint32_t zdr_TEST_STATEID4args ();
|
||||
extern uint32_t zdr_TEST_STATEID4resok ();
|
||||
extern uint32_t zdr_TEST_STATEID4res ();
|
||||
extern uint32_t zdr_ILLEGAL4res ();
|
||||
extern uint32_t zdr_nfs_opnum4 ();
|
||||
extern uint32_t zdr_nfs_argop4 ();
|
||||
|
|
21
nfs4/nfs4.x
21
nfs4/nfs4.x
|
@ -1811,6 +1811,24 @@ default:
|
|||
void;
|
||||
};
|
||||
|
||||
/*
|
||||
* TEST_STATEID
|
||||
*/
|
||||
struct TEST_STATEID4args {
|
||||
stateid4 ts_stateids<>;
|
||||
};
|
||||
|
||||
struct TEST_STATEID4resok {
|
||||
nfsstat4 tsr_status_codes<>;
|
||||
};
|
||||
|
||||
union TEST_STATEID4res switch (nfsstat4 tsr_status) {
|
||||
case NFS4_OK:
|
||||
TEST_STATEID4resok tsr_resok4;
|
||||
default:
|
||||
void;
|
||||
};
|
||||
|
||||
/*
|
||||
* ILLEGAL: Response for illegal operation numbers
|
||||
*/
|
||||
|
@ -1871,6 +1889,7 @@ enum nfs_opnum4 {
|
|||
OP_LAYOUTRETURN = 51,
|
||||
OP_SEQUENCE = 53,
|
||||
OP_SET_SSV = 54,
|
||||
OP_TEST_STATEID = 55,
|
||||
OP_ILLEGAL = 10044
|
||||
};
|
||||
|
||||
|
@ -1927,6 +1946,7 @@ union nfs_argop4 switch (nfs_opnum4 argop) {
|
|||
case OP_LAYOUTRETURN: LAYOUTRETURN4args oplayoutreturn;
|
||||
case OP_SEQUENCE: SEQUENCE4args opsequence;
|
||||
case OP_SET_SSV: SET_SSV4args opsetssv;
|
||||
case OP_TEST_STATEID: TEST_STATEID4args opteststateid;
|
||||
case OP_ILLEGAL: void;
|
||||
};
|
||||
|
||||
|
@ -1983,6 +2003,7 @@ union nfs_resop4 switch (nfs_opnum4 resop){
|
|||
case OP_LAYOUTRETURN: LAYOUTRETURN4res oplayoutreturn;
|
||||
case OP_SEQUENCE: SEQUENCE4res opsequence;
|
||||
case OP_SET_SSV: SET_SSV4res opsetssv;
|
||||
case OP_TEST_STATEID: TEST_STATEID4res opteststateid;
|
||||
case OP_ILLEGAL: ILLEGAL4res opillegal;
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue