From: Tigran Mkrtchyan <kofemann@xxxxxxxxx> Yet another update (v4) of current stateid handling difference with v3: Patches re-organized to only add functionality, e.g. there are no patches fixing other patches. Operation flags are not used any more. Existence of a corresponding function pointer is enough. Let me know if you want to see updates less often. Tigran. currently tested to work in a single compound: OPEN+CLOSE LOCK+WRITE+LOCKU+CLOSE On the way (not tested yet): OPEN+LAYOUTGET TODO: dispose current stateid on operations which provide CFH, but do not provide stateid. Internals: 1. struct nfsd4_compound_state contains pointer to current stateid 2. during compound processing before operation execution current stateid copied into operations stateid if it's equal to corresponding value ( 0, 1). 3. after operation execution current stateid changed to: a) point to stateid of last operation or b) point to NULL, if operation is marked to do so. Probably all patches have to be squashed into a single one before merged as none of the changes makes sense without others. Tigran. Tigran Mkrtchyan (3): nfsd41: handle current stateid in open and close nfsd41: handle current stateid on lock and locku nfsd41: consume current stateid on read and write fs/nfsd/current_stateid.h | 22 +++++++++++++++ fs/nfsd/nfs4proc.c | 39 +++++++++++++++++++++++--- fs/nfsd/nfs4state.c | 66 +++++++++++++++++++++++++++++++++++++++++++++ fs/nfsd/xdr4.h | 1 + 4 files changed, 123 insertions(+), 5 deletions(-) create mode 100644 fs/nfsd/current_stateid.h -- 1.7.7.4 -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html