*** draft-ietf-nfsv4-minorversion1-PAv4.xml.new 2009-06-20 13:37:03.000000000 -0700 --- PAv5.d/draft-ietf-nfsv4-minorversion1-PAv5.xml 2009-09-06 08:03:43.000000000 -0700 *************** *** 57,63 **** --- 57,63 ---- *************** *** 119,125 **** ! Transport NFSv4 --- 119,125 ---- ! Transport NFSv4 *************** *** 847,853 **** ! --- 847,853 ---- ! *************** *** 3001,3007 **** An example of a non-idempotent request is ! RENAME. If is obvious that if a replier executes the same RENAME request twice, and the first execution succeeds, the re-execution will fail. If the replier returns the result from the re-execution, this result is incorrect. --- 3001,3007 ---- An example of a non-idempotent request is ! RENAME. Obviously if a replier executes the same RENAME request twice, and the first execution succeeds, the re-execution will fail. If the replier returns the result from the re-execution, this result is incorrect. *************** *** 3448,3460 **** COMPOUND or CB_COMPOUND having the error NFS4ERR_RETRY_UNCACHED_REP. Thus if the requester later retries the request, it will get NFS4ERR_RETRY_UNCACHED_REP. -
A requester MUST NOT retry a request, unless --- 3448,3486 ---- COMPOUND or CB_COMPOUND having the error NFS4ERR_RETRY_UNCACHED_REP. Thus if the requester later retries the request, it will get NFS4ERR_RETRY_UNCACHED_REP. + + If a replier receives a retried Sequence operation where the reply + to the COMPOUND or CB_COMPOUND was not cached, then the replier, + + + + + MAY return NFS4ERR_RETRY_UNCACHED_REP + in reply to a Sequence operation if the + Sequence operation is not the first + operation (granted, a requester that + does so is in violation of the NFSv4.1 + protocol). + + + + + MUST NOT return + NFS4ERR_RETRY_UNCACHED_REP in reply to + a Sequence operation if the Sequence + operation is the first operation. + + + + + +
A requester MUST NOT retry a request, unless *************** *** 5239,5245 ****
!
--- 5265,5271 ----
!
*************** *** 5497,5503 ****
!
struct change_policy4 { --- 5523,5529 ----
!
struct change_policy4 { *************** *** 5507,5513 ****
! The chg_policy4 data type is used for the change_policy RECOMMENDED attribute. It provides change sequencing indication analogous to the change attribute. To enable the server to present a value valid across server re-initialization without --- 5533,5539 ---- ! The change_policy4 data type is used for the change_policy RECOMMENDED attribute. It provides change sequencing indication analogous to the change attribute. To enable the server to present a value valid across server re-initialization without *************** *** 5965,5971 **** !
--- 5991,5997 ---- !
*************** *** 6165,6171 **** The filehandle will expire during rename. This includes a rename by ! the requesting client or a rename by any other client. If FH4_VOL_ANY is set, FH4_VOL_RENAME is redundant. --- 6191,6197 ---- The filehandle will expire during rename. This includes a rename by ! the requesting client or a rename by any other client. If FH4_VOLATILE_ANY is set, FH4_VOL_RENAME is redundant. *************** *** 17234,17240 ****
!
--- 17260,17266 ----
!
*************** *** 17940,17948 **** For block/volume-based layouts, LAYOUTCOMMIT may require updating the block list that comprises the file and committing this ! layout to stable storage. For file-layouts synchronization of ! attributes between the metadata and storage devices primarily the ! size attribute is required. The control protocol is free to synchronize the attributes before --- 17966,17974 ---- For block/volume-based layouts, LAYOUTCOMMIT may require updating the block list that comprises the file and committing this ! layout to stable storage. For file-based layouts synchronization of ! attributes between the metadata and storage devices (primarily the ! size attribute) is required. The control protocol is free to synchronize the attributes before *************** *** 18856,18863 **** ! If the client asynchronously wrote data to the storage device, but ! still has a copy of the data in its memory, then it has available to it the recovery options listed above in the previous bullet point. If the metadata server is also in its grace period, the client has available to it the options below in the next bullet --- 18882,18889 ---- ! Even if the client synchronously wrote data to the storage device, if ! it still has a copy of the data in its memory, then it has available to it the recovery options listed above in the previous bullet point. If the metadata server is also in its grace period, the client has available to it the options below in the next bullet *************** *** 21131,21137 ****
! --- 21157,21163 ---- ! *************** *** 22458,22464 **** is not the same as the original request, including a retry that has different operations or different arguments in the operations from the original, and a retry that uses a different principal ! in the RPC request's credential field.
*************** *** 22772,22777 **** --- 22805,22811 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SERVERFAULT, NFS4ERR_TOO_MANY_OPS *************** *** 22796,22801 **** --- 22830,22836 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SERVERFAULT, NFS4ERR_STALE, NFS4ERR_TOO_MANY_OPS, *************** *** 22820,22825 **** --- 22855,22861 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SERVERFAULT, NFS4ERR_STALE, NFS4ERR_SYMLINK, *************** *** 22857,22862 **** --- 22893,22899 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_ROFS, NFS4ERR_SERVERFAULT, NFS4ERR_STALE, *************** *** 22870,22875 **** --- 22907,22913 ---- CREATE_SESSION NFS4ERR_BADXDR, + NFS4ERR_CLID_INUSE, NFS4ERR_DEADSESSION, NFS4ERR_DELAY, NFS4ERR_INVAL, *************** *** 22879,22884 **** --- 22917,22923 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SEQ_MISORDERED, NFS4ERR_SERVERFAULT, NFS4ERR_STALE_CLIENTID, *************** *** 22900,22905 **** --- 22939,22945 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SERVERFAULT, NFS4ERR_TOO_MANY_OPS, NFS4ERR_WRONG_CRED *************** *** 22927,22932 **** --- 22967,22973 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SERVERFAULT, NFS4ERR_STALE, NFS4ERR_TOO_MANY_OPS, *************** *** 22946,22951 **** --- 22987,22993 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SERVERFAULT, NFS4ERR_STALE_CLIENTID, NFS4ERR_TOO_MANY_OPS, *************** *** 22968,22973 **** --- 23010,23016 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SERVERFAULT, NFS4ERR_STALE_CLIENTID, NFS4ERR_TOO_MANY_OPS, *************** *** 22993,22998 **** --- 23036,23042 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SERVERFAULT, NFS4ERR_TOO_MANY_OPS *************** *** 23012,23017 **** --- 23056,23062 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SERVERFAULT, NFS4ERR_TOO_MANY_OPS, NFS4ERR_WRONG_CRED *************** *** 23039,23044 **** --- 23084,23090 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SERVERFAULT, NFS4ERR_STALE, NFS4ERR_TOO_MANY_OPS *************** *** 23063,23068 **** --- 23109,23115 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SERVERFAULT, NFS4ERR_STALE, NFS4ERR_TOO_MANY_OPS, *************** *** 23084,23089 **** --- 23131,23137 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SERVERFAULT, NFS4ERR_TOOSMALL, NFS4ERR_TOO_MANY_OPS, *************** *** 23109,23114 **** --- 23157,23163 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SERVERFAULT, NFS4ERR_TOO_MANY_OPS, NFS4ERR_UNKNOWN_LAYOUTTYPE *************** *** 23166,23171 **** --- 23215,23221 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SERVERFAULT, NFS4ERR_STALE, NFS4ERR_SYMLINK, *************** *** 23207,23212 **** --- 23257,23263 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SERVERFAULT, NFS4ERR_STALE, NFS4ERR_TOOSMALL, *************** *** 23240,23245 **** --- 23291,23297 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SERVERFAULT, NFS4ERR_STALE, NFS4ERR_TOO_MANY_OPS, *************** *** 23278,23283 **** --- 23330,23336 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_ROFS, NFS4ERR_SERVERFAULT, NFS4ERR_STALE, *************** *** 23320,23325 **** --- 23373,23379 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_ROFS, NFS4ERR_SERVERFAULT, NFS4ERR_STALE, *************** *** 23351,23356 **** --- 23405,23411 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_ROFS, NFS4ERR_STALE, NFS4ERR_SYMLINK, *************** *** 23382,23387 **** --- 23437,23443 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SERVERFAULT, NFS4ERR_STALE, NFS4ERR_TOO_MANY_OPS, *************** *** 23411,23416 **** --- 23467,23473 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SERVERFAULT, NFS4ERR_STALE, NFS4ERR_SYMLINK, *************** *** 23436,23441 **** --- 23493,23499 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SERVERFAULT, NFS4ERR_STALE, NFS4ERR_SYMLINK, *************** *** 23464,23469 **** --- 23522,23528 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SAME, NFS4ERR_SERVERFAULT, NFS4ERR_STALE, *************** *** 23513,23518 **** --- 23572,23578 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_ROFS, NFS4ERR_SERVERFAULT, NFS4ERR_SHARE_DENIED, *************** *** 23552,23557 **** --- 23612,23618 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_ROFS, NFS4ERR_SERVERFAULT, NFS4ERR_STALE, *************** *** 23580,23585 **** --- 23641,23647 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_ROFS, NFS4ERR_SERVERFAULT, NFS4ERR_STALE, *************** *** 23602,23607 **** --- 23664,23670 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SERVERFAULT, NFS4ERR_STALE, NFS4ERR_TOO_MANY_OPS, *************** *** 23619,23624 **** --- 23682,23688 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SERVERFAULT, NFS4ERR_TOO_MANY_OPS, NFS4ERR_WRONGSEC *************** *** 23635,23640 **** --- 23699,23705 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SERVERFAULT, NFS4ERR_TOO_MANY_OPS, NFS4ERR_WRONGSEC *************** *** 23669,23674 **** --- 23734,23740 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SERVERFAULT, NFS4ERR_STALE, NFS4ERR_SYMLINK, *************** *** 23697,23702 **** --- 23763,23769 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SERVERFAULT, NFS4ERR_STALE, NFS4ERR_TOOSMALL, *************** *** 23720,23725 **** --- 23787,23793 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SERVERFAULT, NFS4ERR_STALE, NFS4ERR_TOO_MANY_OPS, *************** *** 23743,23748 **** --- 23811,23817 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SERVERFAULT, NFS4ERR_STALE, NFS4ERR_TOO_MANY_OPS, *************** *** 23784,23789 **** --- 23853,23859 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_ROFS, NFS4ERR_SERVERFAULT, NFS4ERR_STALE, *************** *** 23820,23825 **** --- 23890,23896 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_ROFS, NFS4ERR_SERVERFAULT, NFS4ERR_STALE, *************** *** 23849,23854 **** --- 23920,23926 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SERVERFAULT, NFS4ERR_STALE, NFS4ERR_TOO_MANY_OPS, *************** *** 23868,23873 **** --- 23940,23946 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SERVERFAULT, NFS4ERR_STALE, NFS4ERR_TOO_MANY_OPS *************** *** 23895,23900 **** --- 23968,23974 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SERVERFAULT, NFS4ERR_STALE, NFS4ERR_TOO_MANY_OPS *************** *** 23920,23925 **** --- 23994,24000 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SERVERFAULT, NFS4ERR_STALE, NFS4ERR_TOO_MANY_OPS *************** *** 23961,23966 **** --- 24036,24042 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_TOO_MANY_OPS *************** *** 23997,24002 **** --- 24073,24079 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_ROFS, NFS4ERR_SERVERFAULT, NFS4ERR_STALE, *************** *** 24033,24038 **** --- 24110,24116 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SERVERFAULT, NFS4ERR_TOO_MANY_OPS *************** *** 24059,24064 **** --- 24137,24143 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SERVERFAULT, NFS4ERR_STALE, NFS4ERR_TOO_MANY_OPS, *************** *** 24090,24095 **** --- 24169,24175 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SERVERFAULT, NFS4ERR_STALE, NFS4ERR_TOO_MANY_OPS, *************** *** 24128,24133 **** --- 24208,24214 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_ROFS, NFS4ERR_SERVERFAULT, NFS4ERR_STALE, *************** *** 24175,24180 **** --- 24256,24262 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SERVERFAULT, NFS4ERR_TOO_MANY_OPS, *************** *** 24205,24210 **** --- 24287,24293 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_TOO_MANY_OPS, NFS4ERR_UNKNOWN_LAYOUTTYPE, NFS4ERR_WRONG_TYPE *************** *** 24225,24230 **** --- 24308,24314 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SERVERFAULT, NFS4ERR_TOO_MANY_OPS *************** *** 24242,24247 **** --- 24326,24332 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SERVERFAULT, NFS4ERR_TOO_MANY_OPS *************** *** 24261,24266 **** --- 24346,24352 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SERVERFAULT, NFS4ERR_TOO_MANY_OPS *************** *** 24280,24285 **** --- 24366,24372 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SERVERFAULT, NFS4ERR_TOO_MANY_OPS, NFS4ERR_WRONG_TYPE *************** *** 24298,24303 **** --- 24385,24391 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SERVERFAULT, NFS4ERR_TOO_MANY_OPS *************** *** 24314,24319 **** --- 24402,24408 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_TOO_MANY_OPS *************** *** 24330,24335 **** --- 24419,24425 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SERVERFAULT, NFS4ERR_TOO_MANY_OPS *************** *** 24346,24351 **** --- 24436,24442 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_TOO_MANY_OPS *************** *** 24382,24387 **** --- 24473,24479 ---- NFS4ERR_REP_TOO_BIG, NFS4ERR_REP_TOO_BIG_TO_CACHE, NFS4ERR_REQ_TOO_BIG, + NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SERVERFAULT, NFS4ERR_TOO_MANY_OPS *************** *** 24692,24697 **** --- 24784,24790 ---- NFS4ERR_CLID_INUSE + CREATE_SESSION, EXCHANGE_ID *************** *** 25763,25770 **** NFS4ERR_RETRY_UNCACHED_REP CB_SEQUENCE, ! SEQUENCE --- 25856,25923 ---- NFS4ERR_RETRY_UNCACHED_REP + ACCESS, + BACKCHANNEL_CTL, + BIND_CONN_TO_SESSION, + CB_GETATTR, + CB_LAYOUTRECALL, + CB_NOTIFY, + CB_NOTIFY_DEVICEID, + CB_NOTIFY_LOCK, + CB_PUSH_DELEG, + CB_RECALL, + CB_RECALLABLE_OBJ_AVAIL, + CB_RECALL_ANY, + CB_RECALL_SLOT, CB_SEQUENCE, ! CB_WANTS_CANCELLED, ! CLOSE, ! COMMIT, ! CREATE, ! CREATE_SESSION, ! DELEGPURGE, ! DELEGRETURN, ! DESTROY_CLIENTID, ! DESTROY_SESSION, ! EXCHANGE_ID, ! FREE_STATEID, ! GETATTR, ! GETDEVICEINFO, ! GETDEVICELIST, ! GET_DIR_DELEGATION, ! LAYOUTCOMMIT, ! LAYOUTGET, ! LAYOUTRETURN, ! LINK, ! LOCK, ! LOCKT, ! LOCKU, ! LOOKUP, ! LOOKUPP, ! NVERIFY, ! OPEN, ! OPENATTR, ! OPEN_DOWNGRADE, ! PUTFH, ! PUTPUBFH, ! PUTROOTFH, ! READ, ! READDIR, ! READLINK, ! RECLAIM_COMPLETE, ! REMOVE, ! RENAME, ! RESTOREFH, ! SAVEFH, ! SECINFO, ! SECINFO_NO_NAME, ! SEQUENCE, ! SETATTR, ! SET_SSV, ! TEST_STATEID, ! VERIFY, ! WANT_DELEGATION, ! WRITE *************** *** 35219,35225 ****
!
--- 35372,35378 ----
!
*************** *** 35318,35324 **** devices before the restart of the metadata server. In this case the layout provided by the client MUST be a subset of a writable layout that the client held immediately before the restart of the ! metadata server. The metadata server is free to accept or reject this request based on its own internal metadata consistency checks. If the metadata server finds that the layout provided by the client does not pass its consistency --- 35471,35479 ---- devices before the restart of the metadata server. In this case the layout provided by the client MUST be a subset of a writable layout that the client held immediately before the restart of the ! metadata server. The value of the field loca_stateid MUST ! be a value the metadata server returned before it restarted. ! The metadata server is free to accept or reject this request based on its own internal metadata consistency checks. If the metadata server finds that the layout provided by the client does not pass its consistency *************** *** 35418,35423 **** --- 35573,35586 ---- can provide such an indication and allow for graceful and efficient recovery. + + If loca_reclaim is TRUE, the metadata server is free to + either examine or ignore the value in the field loca_stateid. + The metadata server implementation might or might not + encode in its layout + stateid information that allows the metadate server to + perform a consistency check on the LAYOUTCOMMIT request. +
*************** *** 38745,38751 **** !
--- 38908,38914 ----
!
*************** *** 38870,38875 **** --- 39033,39040 ---- If CB_SEQUENCE returns an error, then the state of the slot (sequence ID, cached reply) MUST NOT change. + See for the conditions when the + error NFS4ERR_RETRY_UNCACHED_REP might be returned. The client returns two "highest_slotid" values: *************** *** 41545,41551 **** !
--- 41710,41716 ---- !
*************** *** 41816,41824 **** Those who provided miscellaneous comments include: ! Andy Adamson, Sunil Bhargo, Alex Burlyga, Jason Goldschmidt, Vijay K. Gurbani, Sergey Klyushin, Ricardo Labiaga, James Lentini, Anshul ! Madan, Daniel Muntz, Archana Ramani, Jim Rees, Mahesh Siddheshwar, Tom Talpey, and Peter Varga. --- 41981,41990 ---- Those who provided miscellaneous comments include: ! Andy Adamson, Sunil Bhargo, Alex Burlyga, Pranoop Erasani, ! Vadim Finkelstein, Jason Goldschmidt, Vijay K. Gurbani, Sergey Klyushin, Ricardo Labiaga, James Lentini, Anshul ! Madan, Daniel Muntz, Daniel Picken, Archana Ramani, Jim Rees, Mahesh Siddheshwar, Tom Talpey, and Peter Varga.