draft-ietf-nfsv4-minorversion1-16.txt   draft-ietf-nfsv4-minorversion1-17.txt 
NFSv4 S. Shepler NFSv4 S. Shepler
Internet-Draft M. Eisler Internet-Draft M. Eisler
Intended status: Standards Track D. Noveck Intended status: Standards Track D. Noveck
Expires: May 15, 2008 Editors Expires: May 22, 2008 Editors
November 12, 2007 November 19, 2007
NFSv4 Minor Version 1 NFSv4 Minor Version 1
draft-ietf-nfsv4-minorversion1-16.txt draft-ietf-nfsv4-minorversion1-17.txt
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79. aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
skipping to change at page 1, line 35 skipping to change at page 1, line 35
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on May 15, 2008. This Internet-Draft will expire on May 22, 2008.
Copyright Notice Copyright Notice
Copyright (C) The IETF Trust (2007). Copyright (C) The IETF Trust (2007).
Abstract Abstract
This Internet-Draft describes NFSv4 minor version one, including This Internet-Draft describes NFSv4 minor version one, including
features retained from the base protocol and protocol extensions made features retained from the base protocol and protocol extensions made
subsequently. The current draft includes description of the major subsequently. The current draft includes description of the major
skipping to change at page 6, line 51 skipping to change at page 6, line 51
12.7.4. Recovery from Metadata Server Restart . . . . . . . 271 12.7.4. Recovery from Metadata Server Restart . . . . . . . 271
12.7.5. Operations During Metadata Server Grace Period . . . 273 12.7.5. Operations During Metadata Server Grace Period . . . 273
12.7.6. Storage Device Recovery . . . . . . . . . . . . . . 274 12.7.6. Storage Device Recovery . . . . . . . . . . . . . . 274
12.8. Metadata and Storage Device Roles . . . . . . . . . . . 274 12.8. Metadata and Storage Device Roles . . . . . . . . . . . 274
12.9. Security Considerations . . . . . . . . . . . . . . . . 276 12.9. Security Considerations . . . . . . . . . . . . . . . . 276
13. PNFS: NFSv4.1 File Layout Type . . . . . . . . . . . . . . . 277 13. PNFS: NFSv4.1 File Layout Type . . . . . . . . . . . . . . . 277
13.1. Client ID and Session Considerations . . . . . . . . . . 277 13.1. Client ID and Session Considerations . . . . . . . . . . 277
13.2. File Layout Definitions . . . . . . . . . . . . . . . . 278 13.2. File Layout Definitions . . . . . . . . . . . . . . . . 278
13.3. File Layout Data Types . . . . . . . . . . . . . . . . . 279 13.3. File Layout Data Types . . . . . . . . . . . . . . . . . 279
13.4. Interpreting the File Layout . . . . . . . . . . . . . . 282 13.4. Interpreting the File Layout . . . . . . . . . . . . . . 282
13.4.1. Interpreting the File Layout Using Sparse Packing . 282 13.4.1. Interpreting the File Layout Using Sparse Packing . 283
13.4.2. Interpreting the File Layout Using Dense Packing . . 285 13.4.2. Interpreting the File Layout Using Dense Packing . . 285
13.5. Sparse and Dense Stripe Unit Packing . . . . . . . . . . 287 13.5. Sparse and Dense Stripe Unit Packing . . . . . . . . . . 287
13.6. Data Server Multipathing . . . . . . . . . . . . . . . . 289 13.6. Data Server Multipathing . . . . . . . . . . . . . . . . 289
13.7. Operations Issued to NFSv4.1 Data Servers . . . . . . . 290 13.7. Operations Issued to NFSv4.1 Data Servers . . . . . . . 290
13.8. COMMIT Through Metadata Server . . . . . . . . . . . . . 292 13.8. COMMIT Through Metadata Server . . . . . . . . . . . . . 292
13.9. The Layout Iomode . . . . . . . . . . . . . . . . . . . 293 13.9. The Layout Iomode . . . . . . . . . . . . . . . . . . . 293
13.10. Metadata and Data Server State Coordination . . . . . . 293 13.10. Metadata and Data Server State Coordination . . . . . . 293
13.10.1. Global Stateid Requirements . . . . . . . . . . . . 293 13.10.1. Global Stateid Requirements . . . . . . . . . . . . 293
13.10.2. Data Server State Propagation . . . . . . . . . . . 295 13.10.2. Data Server State Propagation . . . . . . . . . . . 295
13.11. Data Server Component File Size . . . . . . . . . . . . 297 13.11. Data Server Component File Size . . . . . . . . . . . . 297
13.12. Recovery from Loss of Layout . . . . . . . . . . . . . . 297 13.12. Recovery from Loss of Layout . . . . . . . . . . . . . . 297
13.13. Security Considerations for the File Layout Type . . . . 298 13.13. Security Considerations for the File Layout Type . . . . 298
14. Internationalization . . . . . . . . . . . . . . . . . . . . 298 14. Internationalization . . . . . . . . . . . . . . . . . . . . 298
14.1. Stringprep profile for the utf8str_cs type . . . . . . . 300 14.1. Stringprep profile for the utf8str_cs type . . . . . . . 300
14.2. Stringprep profile for the utf8str_cis type . . . . . . 301 14.2. Stringprep profile for the utf8str_cis type . . . . . . 301
14.3. Stringprep profile for the utf8str_mixed type . . . . . 303 14.3. Stringprep profile for the utf8str_mixed type . . . . . 303
14.4. UTF-8 Related Errors . . . . . . . . . . . . . . . . . . 304 14.4. UTF-8 Related Errors . . . . . . . . . . . . . . . . . . 304
15. Error Values . . . . . . . . . . . . . . . . . . . . . . . . 304 15. Error Values . . . . . . . . . . . . . . . . . . . . . . . . 304
15.1. Error Definitions . . . . . . . . . . . . . . . . . . . 305 15.1. Error Definitions . . . . . . . . . . . . . . . . . . . 305
15.2. Operations and their valid errors . . . . . . . . . . . 319 15.2. Operations and their valid errors . . . . . . . . . . . 321
15.3. Callback operations and their valid errors . . . . . . . 333 15.3. Callback operations and their valid errors . . . . . . . 337
15.4. Errors and the operations that use them . . . . . . . . 334 15.4. Errors and the operations that use them . . . . . . . . 339
16. NFS version 4.1 Procedures . . . . . . . . . . . . . . . . . 341 16. NFS version 4.1 Procedures . . . . . . . . . . . . . . . . . 353
16.1. Procedure 0: NULL - No Operation . . . . . . . . . . . . 342 16.1. Procedure 0: NULL - No Operation . . . . . . . . . . . . 353
16.2. Procedure 1: COMPOUND - Compound Operations . . . . . . 342 16.2. Procedure 1: COMPOUND - Compound Operations . . . . . . 354
17. Operations: mandatory or optional . . . . . . . . . . . . . . 353 17. Operations: mandatory or optional . . . . . . . . . . . . . . 364
18. NFS version 4.1 Operations . . . . . . . . . . . . . . . . . 356 18. NFS version 4.1 Operations . . . . . . . . . . . . . . . . . 367
18.1. Operation 3: ACCESS - Check Access Rights . . . . . . . 356 18.1. Operation 3: ACCESS - Check Access Rights . . . . . . . 367
18.2. Operation 4: CLOSE - Close File . . . . . . . . . . . . 359 18.2. Operation 4: CLOSE - Close File . . . . . . . . . . . . 370
18.3. Operation 5: COMMIT - Commit Cached Data . . . . . . . . 360 18.3. Operation 5: COMMIT - Commit Cached Data . . . . . . . . 371
18.4. Operation 6: CREATE - Create a Non-Regular File Object . 362 18.4. Operation 6: CREATE - Create a Non-Regular File Object . 373
18.5. Operation 7: DELEGPURGE - Purge Delegations Awaiting 18.5. Operation 7: DELEGPURGE - Purge Delegations Awaiting
Recovery . . . . . . . . . . . . . . . . . . . . . . . . 365 Recovery . . . . . . . . . . . . . . . . . . . . . . . . 376
18.6. Operation 8: DELEGRETURN - Return Delegation . . . . . . 366 18.6. Operation 8: DELEGRETURN - Return Delegation . . . . . . 377
18.7. Operation 9: GETATTR - Get Attributes . . . . . . . . . 366 18.7. Operation 9: GETATTR - Get Attributes . . . . . . . . . 377
18.8. Operation 10: GETFH - Get Current Filehandle . . . . . . 368 18.8. Operation 10: GETFH - Get Current Filehandle . . . . . . 379
18.9. Operation 11: LINK - Create Link to a File . . . . . . . 368 18.9. Operation 11: LINK - Create Link to a File . . . . . . . 379
18.10. Operation 12: LOCK - Create Lock . . . . . . . . . . . . 370 18.10. Operation 12: LOCK - Create Lock . . . . . . . . . . . . 381
18.11. Operation 13: LOCKT - Test For Lock . . . . . . . . . . 374 18.11. Operation 13: LOCKT - Test For Lock . . . . . . . . . . 385
18.12. Operation 14: LOCKU - Unlock File . . . . . . . . . . . 375 18.12. Operation 14: LOCKU - Unlock File . . . . . . . . . . . 386
18.13. Operation 15: LOOKUP - Lookup Filename . . . . . . . . . 377 18.13. Operation 15: LOOKUP - Lookup Filename . . . . . . . . . 388
18.14. Operation 16: LOOKUPP - Lookup Parent Directory . . . . 378 18.14. Operation 16: LOOKUPP - Lookup Parent Directory . . . . 389
18.15. Operation 17: NVERIFY - Verify Difference in 18.15. Operation 17: NVERIFY - Verify Difference in
Attributes . . . . . . . . . . . . . . . . . . . . . . . 379 Attributes . . . . . . . . . . . . . . . . . . . . . . . 390
18.16. Operation 18: OPEN - Open a Regular File . . . . . . . . 380 18.16. Operation 18: OPEN - Open a Regular File . . . . . . . . 391
18.17. Operation 19: OPENATTR - Open Named Attribute 18.17. Operation 19: OPENATTR - Open Named Attribute
Directory . . . . . . . . . . . . . . . . . . . . . . . 396 Directory . . . . . . . . . . . . . . . . . . . . . . . 407
18.18. Operation 21: OPEN_DOWNGRADE - Reduce Open File Access . 397 18.18. Operation 21: OPEN_DOWNGRADE - Reduce Open File Access . 408
18.19. Operation 22: PUTFH - Set Current Filehandle . . . . . . 398 18.19. Operation 22: PUTFH - Set Current Filehandle . . . . . . 409
18.20. Operation 23: PUTPUBFH - Set Public Filehandle . . . . . 399 18.20. Operation 23: PUTPUBFH - Set Public Filehandle . . . . . 410
18.21. Operation 24: PUTROOTFH - Set Root Filehandle . . . . . 400 18.21. Operation 24: PUTROOTFH - Set Root Filehandle . . . . . 411
18.22. Operation 25: READ - Read from File . . . . . . . . . . 400 18.22. Operation 25: READ - Read from File . . . . . . . . . . 411
18.23. Operation 26: READDIR - Read Directory . . . . . . . . . 402 18.23. Operation 26: READDIR - Read Directory . . . . . . . . . 413
18.24. Operation 27: READLINK - Read Symbolic Link . . . . . . 406 18.24. Operation 27: READLINK - Read Symbolic Link . . . . . . 417
18.25. Operation 28: REMOVE - Remove File System Object . . . . 407 18.25. Operation 28: REMOVE - Remove File System Object . . . . 418
18.26. Operation 29: RENAME - Rename Directory Entry . . . . . 409 18.26. Operation 29: RENAME - Rename Directory Entry . . . . . 420
18.27. Operation 31: RESTOREFH - Restore Saved Filehandle . . . 410 18.27. Operation 31: RESTOREFH - Restore Saved Filehandle . . . 421
18.28. Operation 32: SAVEFH - Save Current Filehandle . . . . . 411 18.28. Operation 32: SAVEFH - Save Current Filehandle . . . . . 422
18.29. Operation 33: SECINFO - Obtain Available Security . . . 412 18.29. Operation 33: SECINFO - Obtain Available Security . . . 423
18.30. Operation 34: SETATTR - Set Attributes . . . . . . . . . 415 18.30. Operation 34: SETATTR - Set Attributes . . . . . . . . . 426
18.31. Operation 37: VERIFY - Verify Same Attributes . . . . . 418 18.31. Operation 37: VERIFY - Verify Same Attributes . . . . . 429
18.32. Operation 38: WRITE - Write to File . . . . . . . . . . 419 18.32. Operation 38: WRITE - Write to File . . . . . . . . . . 430
18.33. Operation 40: BACKCHANNEL_CTL - Backchannel control . . 423 18.33. Operation 40: BACKCHANNEL_CTL - Backchannel control . . 434
18.34. Operation 41: BIND_CONN_TO_SESSION . . . . . . . . . . . 424 18.34. Operation 41: BIND_CONN_TO_SESSION . . . . . . . . . . . 435
18.35. Operation 42: EXCHANGE_ID - Instantiate Client ID . . . 427 18.35. Operation 42: EXCHANGE_ID - Instantiate Client ID . . . 438
18.36. Operation 43: CREATE_SESSION - Create New Session and 18.36. Operation 43: CREATE_SESSION - Create New Session and
Confirm Client ID . . . . . . . . . . . . . . . . . . . 443 Confirm Client ID . . . . . . . . . . . . . . . . . . . 454
18.37. Operation 44: DESTROY_SESSION - Destroy existing 18.37. Operation 44: DESTROY_SESSION - Destroy existing
session . . . . . . . . . . . . . . . . . . . . . . . . 453 session . . . . . . . . . . . . . . . . . . . . . . . . 464
18.38. Operation 45: FREE_STATEID - Free stateid with no 18.38. Operation 45: FREE_STATEID - Free stateid with no
locks . . . . . . . . . . . . . . . . . . . . . . . . . 455 locks . . . . . . . . . . . . . . . . . . . . . . . . . 466
18.39. Operation 46: GET_DIR_DELEGATION - Get a directory 18.39. Operation 46: GET_DIR_DELEGATION - Get a directory
delegation . . . . . . . . . . . . . . . . . . . . . . . 455 delegation . . . . . . . . . . . . . . . . . . . . . . . 466
18.40. Operation 47: GETDEVICEINFO - Get Device Information . . 460 18.40. Operation 47: GETDEVICEINFO - Get Device Information . . 471
18.41. Operation 48: GETDEVICELIST . . . . . . . . . . . . . . 461 18.41. Operation 48: GETDEVICELIST . . . . . . . . . . . . . . 472
18.42. Operation 49: LAYOUTCOMMIT - Commit writes made using 18.42. Operation 49: LAYOUTCOMMIT - Commit writes made using
a layout . . . . . . . . . . . . . . . . . . . . . . . . 463 a layout . . . . . . . . . . . . . . . . . . . . . . . . 474
18.43. Operation 50: LAYOUTGET - Get Layout Information . . . . 467 18.43. Operation 50: LAYOUTGET - Get Layout Information . . . . 478
18.44. Operation 51: LAYOUTRETURN - Release Layout 18.44. Operation 51: LAYOUTRETURN - Release Layout
Information . . . . . . . . . . . . . . . . . . . . . . 470 Information . . . . . . . . . . . . . . . . . . . . . . 481
18.45. Operation 52: SECINFO_NO_NAME - Get Security on 18.45. Operation 52: SECINFO_NO_NAME - Get Security on
Unnamed Object . . . . . . . . . . . . . . . . . . . . . 474 Unnamed Object . . . . . . . . . . . . . . . . . . . . . 485
18.46. Operation 53: SEQUENCE - Supply per-procedure 18.46. Operation 53: SEQUENCE - Supply per-procedure
sequencing and control . . . . . . . . . . . . . . . . . 475 sequencing and control . . . . . . . . . . . . . . . . . 486
18.47. Operation 54: SET_SSV . . . . . . . . . . . . . . . . . 481 18.47. Operation 54: SET_SSV . . . . . . . . . . . . . . . . . 492
18.48. Operation 55: TEST_STATEID - Test stateids for 18.48. Operation 55: TEST_STATEID - Test stateids for
validity . . . . . . . . . . . . . . . . . . . . . . . . 483 validity . . . . . . . . . . . . . . . . . . . . . . . . 494
18.49. Operation 56: WANT_DELEGATION . . . . . . . . . . . . . 485 18.49. Operation 56: WANT_DELEGATION . . . . . . . . . . . . . 496
18.50. Operation 57: DESTROY_CLIENTID - Destroy existing 18.50. Operation 57: DESTROY_CLIENTID - Destroy existing
client ID . . . . . . . . . . . . . . . . . . . . . . . 488 client ID . . . . . . . . . . . . . . . . . . . . . . . 500
18.51. Operation 58: RECLAIM_COMPLETE - Indicates Reclaims 18.51. Operation 58: RECLAIM_COMPLETE - Indicates Reclaims
Finished . . . . . . . . . . . . . . . . . . . . . . . . 489 Finished . . . . . . . . . . . . . . . . . . . . . . . . 500
18.52. Operation 10044: ILLEGAL - Illegal operation . . . . . . 491 18.52. Operation 10044: ILLEGAL - Illegal operation . . . . . . 502
19. NFS version 4.1 Callback Procedures . . . . . . . . . . . . . 492 19. NFS version 4.1 Callback Procedures . . . . . . . . . . . . . 503
19.1. Procedure 0: CB_NULL - No Operation . . . . . . . . . . 492 19.1. Procedure 0: CB_NULL - No Operation . . . . . . . . . . 503
19.2. Procedure 1: CB_COMPOUND - Compound Operations . . . . . 493 19.2. Procedure 1: CB_COMPOUND - Compound Operations . . . . . 504
20. NFS version 4.1 Callback Operations . . . . . . . . . . . . . 496 20. NFS version 4.1 Callback Operations . . . . . . . . . . . . . 508
20.1. Operation 3: CB_GETATTR - Get Attributes . . . . . . . . 496 20.1. Operation 3: CB_GETATTR - Get Attributes . . . . . . . . 508
20.2. Operation 4: CB_RECALL - Recall an Open Delegation . . . 497 20.2. Operation 4: CB_RECALL - Recall an Open Delegation . . . 509
20.3. Operation 5: CB_LAYOUTRECALL . . . . . . . . . . . . . . 498 20.3. Operation 5: CB_LAYOUTRECALL . . . . . . . . . . . . . . 510
20.4. Operation 6: CB_NOTIFY - Notify directory changes . . . 502 20.4. Operation 6: CB_NOTIFY - Notify directory changes . . . 513
20.5. Operation 7: CB_PUSH_DELEG . . . . . . . . . . . . . . . 505 20.5. Operation 7: CB_PUSH_DELEG . . . . . . . . . . . . . . . 517
20.6. Operation 8: CB_RECALL_ANY - Keep any N delegations . . 506 20.6. Operation 8: CB_RECALL_ANY - Keep any N delegations . . 518
20.7. Operation 9: CB_RECALLABLE_OBJ_AVAIL . . . . . . . . . . 509 20.7. Operation 9: CB_RECALLABLE_OBJ_AVAIL . . . . . . . . . . 520
20.8. Operation 10: CB_RECALL_SLOT - change flow control 20.8. Operation 10: CB_RECALL_SLOT - change flow control
limits . . . . . . . . . . . . . . . . . . . . . . . . . 510 limits . . . . . . . . . . . . . . . . . . . . . . . . . 521
20.9. Operation 11: CB_SEQUENCE - Supply backchannel 20.9. Operation 11: CB_SEQUENCE - Supply backchannel
sequencing and control . . . . . . . . . . . . . . . . . 511 sequencing and control . . . . . . . . . . . . . . . . . 522
20.10. Operation 12: CB_WANTS_CANCELLED . . . . . . . . . . . . 513 20.10. Operation 12: CB_WANTS_CANCELLED . . . . . . . . . . . . 524
20.11. Operation 13: CB_NOTIFY_LOCK - Notify of possible 20.11. Operation 13: CB_NOTIFY_LOCK - Notify of possible
lock availability . . . . . . . . . . . . . . . . . . . 514 lock availability . . . . . . . . . . . . . . . . . . . 525
20.12. Operation 10044: CB_ILLEGAL - Illegal Callback 20.12. Operation 10044: CB_ILLEGAL - Illegal Callback
Operation . . . . . . . . . . . . . . . . . . . . . . . 516 Operation . . . . . . . . . . . . . . . . . . . . . . . 527
21. Security Considerations . . . . . . . . . . . . . . . . . . . 516 21. Security Considerations . . . . . . . . . . . . . . . . . . . 527
22. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 517 22. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 528
22.1. Defining New Notifications . . . . . . . . . . . . . . . 517 22.1. Named Attribute Definitions . . . . . . . . . . . . . . 528
22.2. Defining new layout types . . . . . . . . . . . . . . . 517 22.2. ONC RPC Network Identifiers (netids) . . . . . . . . . . 528
22.3. Named Attribute Definitions . . . . . . . . . . . . . . 518 22.3. Defining New Notifications . . . . . . . . . . . . . . . 529
22.4. Path Variable Definitions . . . . . . . . . . . . . . . 518 22.4. Defining new layout types . . . . . . . . . . . . . . . 530
22.4.1. Path Variable Values . . . . . . . . . . . . . . . . 518 22.5. Path Variable Definitions . . . . . . . . . . . . . . . 531
22.4.2. Path Variable Names . . . . . . . . . . . . . . . . 519 22.5.1. Path Variable Values . . . . . . . . . . . . . . . . 531
23. References . . . . . . . . . . . . . . . . . . . . . . . . . 519 22.5.2. Path Variable Names . . . . . . . . . . . . . . . . 531
23.1. Normative References . . . . . . . . . . . . . . . . . . 519 23. References . . . . . . . . . . . . . . . . . . . . . . . . . 532
23.2. Informative References . . . . . . . . . . . . . . . . . 520 23.1. Normative References . . . . . . . . . . . . . . . . . . 532
Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . 522 23.2. Informative References . . . . . . . . . . . . . . . . . 533
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 524 Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . 535
Intellectual Property and Copyright Statements . . . . . . . . . 525 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 536
Intellectual Property and Copyright Statements . . . . . . . . . 538
1. Introduction 1. Introduction
1.1. The NFSv4.1 Protocol 1.1. The NFSv4.1 Protocol
The NFSv4.1 protocol is a minor version of the NFSv4 protocol The NFSv4.1 protocol is a minor version of the NFSv4 protocol
described in [20]. It generally follows the guidelines for minor described in [20]. It generally follows the guidelines for minor
versioning model laid in Section 10 of RFC 3530. However, it versioning model laid in Section 10 of RFC 3530. However, it
diverges from guidelines 11 ("a client and server that supports minor diverges from guidelines 11 ("a client and server that supports minor
version X must support minor versions 0 through X-1"), and 12 ("no version X must support minor versions 0 through X-1"), and 12 ("no
skipping to change at page 55, line 8 skipping to change at page 55, line 8
the tenth operation is a READ for one million bytes, the server may the tenth operation is a READ for one million bytes, the server may
return NFS4ERR_REP_TOO_BIG_TO_CACHE on the tenth operation. Since return NFS4ERR_REP_TOO_BIG_TO_CACHE on the tenth operation. Since
the server executed several operations, especially the non-idempotent the server executed several operations, especially the non-idempotent
RENAME, the client's request to cache the reply needs to be honored RENAME, the client's request to cache the reply needs to be honored
in order for correct operation of exactly once semantics. If the in order for correct operation of exactly once semantics. If the
client retries the request, the server will have cached a reply that client retries the request, the server will have cached a reply that
contains results for ten of the eleven requested operations, with the contains results for ten of the eleven requested operations, with the
tenth operation having a status of NFS4ERR_REP_TOO_BIG_TO_CACHE. tenth operation having a status of NFS4ERR_REP_TOO_BIG_TO_CACHE.
A client needs to take care that when sending operations that change A client needs to take care that when sending operations that change
the current filehandle (except for PUTFH, PUTPUBFH, and PUTROOTFH) the current filehandle (except for PUTFH, PUTPUBFH, PUTROOTFH and
that it not exceed the maximum reply buffer before the GETFH RESTOREFH) that it not exceed the maximum reply buffer before the
operation. Otherwise the client will have to retry the operation GETFH operation. Otherwise the client will have to retry the
that changed the current filehandle, in order to obtain the desired operation that changed the current filehandle, in order to obtain the
filehandle. For the OPEN operation (see Section 18.16), retry is not desired filehandle. For the OPEN operation (see Section 18.16),
always available as an option. The following guidelines for the retry is not always available as an option. The following guidelines
handling of filehandle changing operations are advised: for the handling of filehandle changing operations are advised:
o Within the same COMPOUND procedure, a client SHOULD issue GETFH o Within the same COMPOUND procedure, a client SHOULD issue GETFH
immediately after a current filehandle changing operation. A immediately after a current filehandle changing operation. A
client MUST issue GETFH after a current filehandle change client MUST issue GETFH after a current filehandle changing
operation that is also non-idempotent (for example, the OPEN operation that is also non-idempotent (for example, the OPEN
operation). operation), unless the operation is RESTOREFH. RESTOREFH is an
exception, because even though it is non-idempotent, the
filehandle RESTOREFH produced originated from an operation that is
either idempotent (e.g. PUTFH, LOOKUP), or non-idempotent (e.g.
OPEN, CREATE). If the origin is non-idempotent, then because the
client MUST issue GETFH after the origin operation, the client can
recover if RESTOREFH returns an error.
o A server MAY return NFS4ERR_REP_TOO_BIG or o A server MAY return NFS4ERR_REP_TOO_BIG or
NFS4ERR_REP_TOO_BIG_TO_CACHE (if sa_cachethis is TRUE) on a NFS4ERR_REP_TOO_BIG_TO_CACHE (if sa_cachethis is TRUE) on a
filehandle changing operation if the reply would be too large on filehandle changing operation if the reply would be too large on
the next operation. the next operation.
o A server SHOULD return NFS4ERR_REP_TOO_BIG or o A server SHOULD return NFS4ERR_REP_TOO_BIG or
NFS4ERR_REP_TOO_BIG_TO_CACHE (if sa_cachethis is TRUE) on a NFS4ERR_REP_TOO_BIG_TO_CACHE (if sa_cachethis is TRUE) on a
filehandle changing non-idempotent operation if the reply would be filehandle changing non-idempotent operation if the reply would be
too large on the next operation, especially if the operation is too large on the next operation, especially if the operation is
OPEN. OPEN.
o A server MAY return NFS4ERR_UNSAFE_COMPOUND to a non-idempotent o A server MAY return NFS4ERR_UNSAFE_COMPOUND to a non-idempotent
current filehandle change operation, if it looks at the next current filehandle changing operation, if it looks at the next
operation (in the same COMPOUND procedure) and finds it is not operation (in the same COMPOUND procedure) and finds it is not
GETFH. The server SHOULD do this if it is unable to determine in GETFH. The server SHOULD do this if it is unable to determine in
advance whether the total response size would exceed advance whether the total response size would exceed
ca_maxresponsesize_cached or ca_maxresponsesize. ca_maxresponsesize_cached or ca_maxresponsesize.
2.10.5.5. Persistence 2.10.5.5. Persistence
Since the reply cache is bounded, it is practical for the reply cache Since the reply cache is bounded, it is practical for the reply cache
to persist across server restarts. The replier MUST persist the to persist across server restarts. The replier MUST persist the
following information if it agreed to persist the session (when the following information if it agreed to persist the session (when the
skipping to change at page 80, line 10 skipping to change at page 80, line 10
Section 2.9). Section 2.9).
For TCP over IPv6 and for UDP over IPv6, the format of r_addr is the For TCP over IPv6 and for UDP over IPv6, the format of r_addr is the
US-ASCII string: US-ASCII string:
x1:x2:x3:x4:x5:x6:x7:x8.p1.p2 x1:x2:x3:x4:x5:x6:x7:x8.p1.p2
The suffix "p1.p2" is the service port, and is computed the same way The suffix "p1.p2" is the service port, and is computed the same way
as with universal addresses for TCP and UDP over IPv4. The prefix, as with universal addresses for TCP and UDP over IPv4. The prefix,
"x1:x2:x3:x4:x5:x6:x7:x8", is the standard textual form for "x1:x2:x3:x4:x5:x6:x7:x8", is the standard textual form for
representing an IPv6 address as defined in Section 2.2 of RFC1884 representing an IPv6 address as defined in Section 2.2 of RFC2373
[12]. Additionally, the two alternative forms specified in Section [12]. Additionally, the two alternative forms specified in Section
2.2 of RFC1884 [12] are also acceptable. 2.2 of RFC2373 [12] are also acceptable.
For TCP over IPv6 the value of r_netid is the string "tcp6". For UDP For TCP over IPv6 the value of r_netid is the string "tcp6". For UDP
over IPv6 the value of r_netid is the string "udp6". That this over IPv6 the value of r_netid is the string "udp6". That this
document specifies the universal address and netid for UDP/IPv6 does document specifies the universal address and netid for UDP/IPv6 does
not imply that UDP/IPv6 is a legal transport for NFSv4.1 (see not imply that UDP/IPv6 is a legal transport for NFSv4.1 (see
Section 2.9). Section 2.9).
3.2.12. state_owner4 3.2.12. state_owner4
struct state_owner4 { struct state_owner4 {
skipping to change at page 81, line 43 skipping to change at page 81, line 43
that clients have "layout drivers" that support one or more layout that clients have "layout drivers" that support one or more layout
types. The file server advertises the layout types it supports types. The file server advertises the layout types it supports
through the fs_layout_type file system attribute (Section 5.11.1). A through the fs_layout_type file system attribute (Section 5.11.1). A
client asks for layouts of a particular type in LAYOUTGET, and passes client asks for layouts of a particular type in LAYOUTGET, and passes
those layouts to its layout driver. those layouts to its layout driver.
The layouttype4 structure is 32 bits in length. The range The layouttype4 structure is 32 bits in length. The range
represented by the layout type is split into three parts. Type 0x0 represented by the layout type is split into three parts. Type 0x0
is reserved. Types within the range 0x00000001-0x7FFFFFFF are is reserved. Types within the range 0x00000001-0x7FFFFFFF are
globally unique and are assigned according to the description in globally unique and are assigned according to the description in
Section 22.2; they are maintained by IANA. Types within the range Section 22.4; they are maintained by IANA. Types within the range
0x80000000-0xFFFFFFFF are site specific and for "private use" only. 0x80000000-0xFFFFFFFF are site specific and for "private use" only.
The LAYOUT4_NFSV4_1_FILES enumeration specifies that the NFSv4.1 file The LAYOUT4_NFSV4_1_FILES enumeration specifies that the NFSv4.1 file
layout type is to be used. The LAYOUT4_OSD2_OBJECTS enumeration layout type is to be used. The LAYOUT4_OSD2_OBJECTS enumeration
specifies that the object layout, as defined in [29], is to be used. specifies that the object layout, as defined in [29], is to be used.
Similarly, the LAYOUT4_BLOCK_VOLUME enumeration that the block/volume Similarly, the LAYOUT4_BLOCK_VOLUME enumeration that the block/volume
layout, as defined in [30], is to be used. layout, as defined in [30], is to be used.
3.2.16. deviceid4 3.2.16. deviceid4
skipping to change at page 93, line 51 skipping to change at page 93, line 51
client should not depend on the ability to store any named attributes client should not depend on the ability to store any named attributes
in the server's file system. If a server does support named in the server's file system. If a server does support named
attributes, a client which is also able to handle them should be able attributes, a client which is also able to handle them should be able
to copy a file's data and meta-data with complete transparency from to copy a file's data and meta-data with complete transparency from
one location to another; this would imply that names allowed for one location to another; this would imply that names allowed for
regular directory entries are valid for named attribute names as regular directory entries are valid for named attribute names as
well. well.
Names of attributes will not be controlled by this document or other Names of attributes will not be controlled by this document or other
IETF standards track documents. See the section IANA Considerations IETF standards track documents. See the section IANA Considerations
(Section 22.3) for further discussion. (Section 22.1) for further discussion.
5.4. Classification of Attributes 5.4. Classification of Attributes
Each of the Mandatory and Recommended attributes can be classified in Each of the Mandatory and Recommended attributes can be classified in
one of three categories: per server, per file system, or per file one of three categories: per server, per file system, or per file
system object. Note that it is possible that some per file system system object. Note that it is possible that some per file system
attributes may vary within the file system. See the "homogeneous" attributes may vary within the file system. See the "homogeneous"
attribute for its definition. Note that the attributes attribute for its definition. Note that the attributes
time_access_set and time_modify_set are not listed in this section time_access_set and time_modify_set are not listed in this section
because they are write-only attributes corresponding to time_access because they are write-only attributes corresponding to time_access
skipping to change at page 257, line 31 skipping to change at page 257, line 31
mandatory file locks simultaneously. mandatory file locks simultaneously.
12.5.2. Getting a Layout 12.5.2. Getting a Layout
A client obtains a layout with the LAYOUTGET operation. The metadata A client obtains a layout with the LAYOUTGET operation. The metadata
server will grant layouts of a particular type (e.g., block/volume, server will grant layouts of a particular type (e.g., block/volume,
object, or file). The client selects an appropriate layout type that object, or file). The client selects an appropriate layout type that
the server supports and the client is prepared to use. The layout the server supports and the client is prepared to use. The layout
returned to the client may not exactly align with the requested byte returned to the client may not exactly align with the requested byte
range. A field within the LAYOUTGET request, loga_minlength, range. A field within the LAYOUTGET request, loga_minlength,
specifies the minimum overlap that MUST exist between the requested specifies the minimum length of the layout. The loga_minlength field
layout and the layout returned by the metadata server. The should be at least one. As needed a client may make multiple
loga_minlength field should be at least one. As needed a client may LAYOUTGET requests; these will result in multiple overlapping, non-
make multiple LAYOUTGET requests; these will result in multiple conflicting layouts.
overlapping, non-conflicting layouts.
There is no required ordering between getting a layout and performing There is no required ordering between getting a layout and performing
a file OPEN. For example, a layout may first be retrieved by placing a file OPEN. For example, a layout may first be retrieved by placing
a LAYOUTGET operation in the same COMPOUND as the initial file OPEN. a LAYOUTGET operation in the same COMPOUND as the initial file OPEN.
Once the layout has been retrieved, it can be held across multiple Once the layout has been retrieved, it can be held across multiple
OPEN and CLOSE sequences. Therefore, a client may hold a layout for OPEN and CLOSE sequences. Therefore, a client may hold a layout for
a file that is not currently open by any user on the client. This a file that is not currently open by any user on the client. This
allows for the caching of layouts beyond CLOSE such that CLOSE to allows for the caching of layouts beyond CLOSE such that CLOSE to
OPEN sequences do not incur additional layout overhead. OPEN sequences do not incur additional layout overhead.
skipping to change at page 258, line 18 skipping to change at page 258, line 16
pNFS introduces a layout_hint (Section 5.11.4) attribute that the pNFS introduces a layout_hint (Section 5.11.4) attribute that the
client can set at file creation time to provide a hint to the server client can set at file creation time to provide a hint to the server
for new files. Setting this attribute separately, after the file has for new files. Setting this attribute separately, after the file has
been created might make it difficult, or impossible, for the server been created might make it difficult, or impossible, for the server
implementation to comply. This further complicates the exclusive implementation to comply. This further complicates the exclusive
file creation via OPEN, which when done via the EXCLUSIVE4 createmode file creation via OPEN, which when done via the EXCLUSIVE4 createmode
does not allow the setting of attributes at file creation time. does not allow the setting of attributes at file creation time.
However as noted in Section 18.16.3, if the server supports a However as noted in Section 18.16.3, if the server supports a
persistent reply cache, the EXCLUSIVE4 createmode is not needed. persistent reply cache, the EXCLUSIVE4 createmode is not needed.
Therefore, a metadata server that supports the layout_hint attribute Therefore, a metadata server that supports the layout_hint attribute
MUST support a persistent session reply cache, and a pNFS client that SHOULD support a persistent session reply cache. If a session is
wants to set layout_hint at file creation (OPEN) time MUST NOT use created on the metadata server with a persistent reply cache, a pNFS
the EXCLUSIVE4 createmode, and instead MUST used GUARDED for an client that wants to set layout_hint at file creation (OPEN) time
exclusive regular file creation. MUST NOT use the EXCLUSIVE4 createmode, and instead MUST use GUARDED
for an exclusive regular file creation.
12.5.3. Committing a Layout 12.5.3. Committing a Layout
Allowing for varying storage protocols capabilities, the pNFS Allowing for varying storage protocols capabilities, the pNFS
protocol does not require the metadata server and storage devices to protocol does not require the metadata server and storage devices to
have a consistent view of file attributes and data location mappings. have a consistent view of file attributes and data location mappings.
Data location mapping refers to things like which offsets store data Data location mapping refers to things like which offsets store data
as opposed to storing holes (see Section 13.5 for a discussion). as opposed to storing holes (see Section 13.5 for a discussion).
Related issues arise for storage protocols where a layout may hold Related issues arise for storage protocols where a layout may hold
provisionally allocated blocks where the allocation of those blocks provisionally allocated blocks where the allocation of those blocks
skipping to change at page 282, line 6 skipping to change at page 282, line 6
The nfsv4_1_file_layout4 data type represents the layout. It is The nfsv4_1_file_layout4 data type represents the layout. It is
composed of four fields: composed of four fields:
1. nfl_deviceid: The device ID which maps to a value of type 1. nfl_deviceid: The device ID which maps to a value of type
nfsv4_1_file_layout_ds_addr4. nfsv4_1_file_layout_ds_addr4.
2. nfl_util: Like the nflh_util field of data type 2. nfl_util: Like the nflh_util field of data type
nfsv4_1_file_layouthint4, a compact representation of how the nfsv4_1_file_layouthint4, a compact representation of how the
data on a file on each data server is packed, whether the client data on a file on each data server is packed, whether the client
should send COMMIT operations to the metadata server or data should send COMMIT operations to the metadata server or data
server, and the stripe unit size. server, and the stripe unit size. If a server returns two or
more overlapping layouts, each stripe unit size in each
overlapper layout MUST be the same.
3. nfl_first_stripe_index: The index into the first element of the 3. nfl_first_stripe_index: The index into the first element of the
nflda_stripe_indices array to use. nflda_stripe_indices array to use.
4. nfl_fh_list. An array of data server filehandles for each list 4. nfl_fh_list. An array of data server filehandles for each list
of data servers in each element of the nflda_multipath_ds_list of data servers in each element of the nflda_multipath_ds_list
array. The number of elements in nfl_fh_list depends on whether array. The number of elements in nfl_fh_list depends on whether
sparse or dense packing is being used. If sparse packing is sparse or dense packing is being used. If sparse packing is
being used, the number of elements in nfl_fh_list MUST be of being used, the number of elements in nfl_fh_list MUST be of
three values: three values:
skipping to change at page 305, line 36 skipping to change at page 305, line 36
| | | user permission | | | | user permission |
| | | failures. | | | | failures. |
| NFS4ERR_ATTRNOTSUPP | 10032 | An attribute | | NFS4ERR_ATTRNOTSUPP | 10032 | An attribute |
| | | specified is not | | | | specified is not |
| | | supported by the | | | | supported by the |
| | | server. Does not | | | | server. Does not |
| | | apply to the GETATTR | | | | apply to the GETATTR |
| | | operation. | | | | operation. |
| NFS4ERR_ADMIN_REVOKED | 10047 | Due to administrator | | NFS4ERR_ADMIN_REVOKED | 10047 | Due to administrator |
| | | intervention, the | | | | intervention, the |
| | | lockowner's record |
| | | locks, share | | | | locks, share |
| | | reservations, and | | | | reservations, |
| | | delegations have | | | | delegations, |
| | | been revoked by the | | | | layouts, or device |
| | | maps, represented by |
| | | a stateid passed to |
| | | the current |
| | | operation have been |
| | | revoked by the |
| | | server. | | | | server. |
| NFS4ERR_BACK_CHAN_BUSY | 10057 | The session cannot | | NFS4ERR_BACK_CHAN_BUSY | 10057 | The session cannot |
| | | be destroyed because | | | | be destroyed because |
| | | the server has | | | | the server has |
| | | callback requests | | | | callback requests |
| | | outstanding. | | | | outstanding. |
| NFS4ERR_BADCHAR | 10040 | A UTF-8 string | | NFS4ERR_BADCHAR | 10040 | A UTF-8 string |
| | | contains a character | | | | contains a character |
| | | which is not | | | | which is not |
| | | supported by the | | | | supported by the |
| | | server in the | | | | server in the |
| | | context in which it | | | | context in which it |
| | | being used. | | | | being used. |
| NFS4ERR_BAD_COOKIE | 10003 | READDIR cookie is |
| | | stale. |
| NFS4ERR_BADHANDLE | 10001 | Illegal NFS | | NFS4ERR_BADHANDLE | 10001 | Illegal NFS |
| | | filehandle. The | | | | filehandle. The |
| | | filehandle failed | | | | filehandle failed |
| | | internal consistency | | | | internal consistency |
| | | checks. | | | | checks. |
| NFS4ERR_BAD_HIGH_SLOT | 10077 | The highest_slot |
| | | argument in SEQUENCE |
| | | or CB_SEQUENCE |
| | | exceeds the |
| | | replier's enforced |
| | | highest_slotid. |
| NFS4ERR_BADIOMODE | 10049 | Layout iomode is | | NFS4ERR_BADIOMODE | 10049 | Layout iomode is |
| | | invalid. | | | | invalid. |
| NFS4ERR_BADLAYOUT | 10050 | Layout specified is | | NFS4ERR_BADLAYOUT | 10050 | Layout specified is |
| | | invalid. | | | | invalid. |
| NFS4ERR_BADNAME | 10041 | A name string in a | | NFS4ERR_BADNAME | 10041 | A name string in a |
| | | request consists of | | | | request consists of |
| | | valid UTF-8 | | | | valid UTF-8 |
| | | characters supported | | | | characters supported |
| | | by the server but | | | | by the server but |
| | | the name is not | | | | the name is not |
| | | supported by the | | | | supported by the |
| | | server as a valid | | | | server as a valid |
| | | name for current | | | | name for current |
| | | operation. | | | | operation. |
| NFS4ERR_BADOWNER | 10039 | An owner, | | NFS4ERR_BADOWNER | 10039 | An owner, |
| | | owner_group, or ACL | | | | owner_group, or ACL |
| | | attribute value can | | | | attribute value can |
| | | not be translated to | | | | not be translated to |
| | | local | | | | local |
| | | representation. | | | | representation. |
| NFS4ERR_BAD_SESSION_DIGEST | 10051 | The digest used in a | | NFS4ERR_BADSESSION | 10052 | The specified |
| | | SET_SSV or | | | | sessionid does not |
| | | BIND_CONN_TO_SESSION | | | | exist. |
| | | request is not | | NFS4ERR_BADSLOT | 10053 | The requester sent a |
| | | valid. | | | | SEQUENCE or |
| | | CB_SEQUENCE request |
| | | that attempted to |
| | | use a slot the |
| | | replier does not |
| | | have in its slot |
| | | table. It is |
| | | possible the slot |
| | | may have been |
| | | retired. |
| NFS4ERR_BADTYPE | 10007 | An attempt was made | | NFS4ERR_BADTYPE | 10007 | An attempt was made |
| | | to create an object | | | | to create an object |
| | | of a type not | | | | of a type not |
| | | supported by the | | | | supported by the |
| | | server. | | | | server. |
| NFS4ERR_BADXDR | 10036 | The server |
| | | encountered an XDR |
| | | decoding error while |
| | | processing an |
| | | operation. |
| NFS4ERR_BAD_COOKIE | 10003 | READDIR cookie is |
| | | stale. |
| NFS4ERR_BAD_HIGH_SLOT | 10077 | The highest_slot |
| | | argument in SEQUENCE |
| | | or CB_SEQUENCE |
| | | exceeds the |
| | | replier's enforced |
| | | highest_slotid. |
| NFS4ERR_BAD_RANGE | 10042 | The range for a | | NFS4ERR_BAD_RANGE | 10042 | The range for a |
| | | LOCK, LOCKT, or | | | | LOCK, LOCKT, or |
| | | LOCKU operation is | | | | LOCKU operation is |
| | | not appropriate to | | | | not appropriate to |
| | | the allowable range | | | | the allowable range |
| | | of offsets for the | | | | of offsets for the |
| | | server. | | | | server. |
| NFS4ERR_BAD_SEQID | 10026 | The sequence number | | NFS4ERR_BAD_SEQID | 10026 | The sequence number |
| | | in a locking request | | | | in a locking request |
| | | is neither the next | | | | is neither the next |
| | | expected number or | | | | expected number or |
| | | the last number | | | | the last number |
| | | processed. This | | | | processed. This |
| | | error does not apply | | | | error does not apply |
| | | to and should never | | | | to and should never |
| | | be generated in | | | | be generated in |
| | | NFSv4.1. | | | | NFSv4.1. |
| NFS4ERR_BADSESSION | 10052 | The specified | | NFS4ERR_BAD_SESSION_DIGEST | 10051 | The digest used in a |
| | | sessionid does not | | | | SET_SSV or |
| | | exist. | | | | BIND_CONN_TO_SESSION |
| NFS4ERR_BADSLOT | 10053 | The requester sent a | | | | request is not |
| | | SEQUENCE or | | | | valid. |
| | | CB_SEQUENCE request |
| | | that attempted to |
| | | use a slot the |
| | | replier does not |
| | | have in its slot |
| | | table. It is |
| | | possible the slot |
| | | may have been |
| | | retired. |
| NFS4ERR_BAD_STATEID | 10025 | A stateid generated | | NFS4ERR_BAD_STATEID | 10025 | A stateid generated |
| | | by the current | | | | by the current |
| | | server instance, but | | | | server instance, but |
| | | which does not | | | | which does not |
| | | designate any | | | | designate |
| | | locking state | | | | appropriate locking |
| | | (either current or | | | | state (either |
| | | current or |
| | | superseded) for a | | | | superseded) for a |
| | | current | | | | current |
| | | lockowner-file pair, | | | | lockowner-file pair, |
| | | was used. | | | | was used. This may |
| NFS4ERR_BADXDR | 10036 | The server | | | | because the stateid |
| | | encountered an XDR | | | | designates an |
| | | decoding error while | | | | inappropriate sort |
| | | processing an | | | | of state or one not |
| | | operation. | | | | associated with the |
| | | current filehandle. |
| NFS4ERR_CLID_INUSE | 10017 | The EXCHANGE_ID | | NFS4ERR_CLID_INUSE | 10017 | The EXCHANGE_ID |
| | | operation has found | | | | operation has found |
| | | that a client ID is | | | | that a client ID is |
| | | already in use by | | | | already in use by |
| | | another client. | | | | another client. |
| NFS4ERR_CLIENTID_BUSY | 10074 | The DESTROY_CLIENTID | | NFS4ERR_CLIENTID_BUSY | 10074 | The DESTROY_CLIENTID |
| | | operation has found | | | | operation has found |
| | | there are sessions | | | | there are sessions |
| | | and/or unexpired | | | | and/or unexpired |
| | | state associated | | | | state associated |
| | | with the client ID. | | | | with the client ID. |
| NFS4ERR_COMPLETE_ALREADY | 10054 | The client | | NFS4ERR_COMPLETE_ALREADY | 10054 | The client |
| | | previously sent a | | | | previously sent a |
| | | successful | | | | successful |
| | | RECLAIM_COMPLETE | | | | RECLAIM_COMPLETE |
| | | operation; the | | | | operation; the |
| | | additional | | | | additional |
| | | RECLAIM_COMPLETE | | | | RECLAIM_COMPLETE |
| | | operation is not | | | | operation is not |
| | | needed. | | | | needed. |
| NFS4ERR_CONN_NOT_BOUND_TO_SESSION | 10055 | The connection is |
| | | not associated with |
| | | the specified |
| | | session. |
| NFS4ERR_CONN_BINDING_NOT_ENFORCED | 10073 | Client is trying use | | NFS4ERR_CONN_BINDING_NOT_ENFORCED | 10073 | Client is trying use |
| | | enforced connection | | | | enforced connection |
| | | association, but it | | | | association, but it |
| | | disabled enforcement | | | | disabled enforcement |
| | | when the client ID | | | | when the client ID |
| | | was created. | | | | was created. |
| NFS4ERR_CONN_NOT_BOUND_TO_SESSION | 10055 | The connection is |
| | | not associated with |
| | | the specified |
| | | session. |
| NFS4ERR_DEADLOCK | 10045 | The server has been | | NFS4ERR_DEADLOCK | 10045 | The server has been |
| | | able to determine a | | | | able to determine a |
| | | file locking | | | | file locking |
| | | deadlock condition | | | | deadlock condition |
| | | for a blocking lock | | | | for a blocking lock |
| | | request. | | | | request. |
| NFS4ERR_DEADSESSION | 10782 | The specified | | NFS4ERR_DEADSESSION | 10782 | The specified |
| | | session is dead and | | | | session is dead and |
| | | does not accept new | | | | does not accept new |
| | | requests. | | | | requests. |
skipping to change at page 311, line 25 skipping to change at page 311, line 29
| | | in the protocol | | | | in the protocol |
| | | (e.g. nfs_ftype4). | | | | (e.g. nfs_ftype4). |
| NFS4ERR_IO | 5 | I/O error. A hard | | NFS4ERR_IO | 5 | I/O error. A hard |
| | | error (for example, | | | | error (for example, |
| | | a disk error) | | | | a disk error) |
| | | occurred while | | | | occurred while |
| | | processing the | | | | processing the |
| | | requested operation. | | | | requested operation. |
| NFS4ERR_ISDIR | 21 | Is a directory. The | | NFS4ERR_ISDIR | 21 | Is a directory. The |
| | | caller specified a | | | | caller specified a |
| | | directory in a | | | | directory in an |
| | | non-directory | | | | operation which |
| | | operation. | | | | cannot be performed |
| | | on a directory. |
| NFS4ERR_LAYOUTTRYLATER | 10058 | Layouts are | | NFS4ERR_LAYOUTTRYLATER | 10058 | Layouts are |
| | | temporarily | | | | temporarily |
| | | unavailable for the | | | | unavailable for the |
| | | file, client should | | | | file, client should |
| | | retry later. | | | | retry later. |
| NFS4ERR_LAYOUTUNAVAILABLE | 10059 | Layouts are not | | NFS4ERR_LAYOUTUNAVAILABLE | 10059 | Layouts are not |
| | | available for the | | | | available for the |
| | | file or its | | | | file or its |
| | | containing file | | | | containing file |
| | | system. | | | | system. |
| NFS4ERR_LEASE_MOVED | 10031 | A lease being | | NFS4ERR_LEASE_MOVED | 10031 | A lease being |
| | | renewed is | | | | renewed is |
| | | associated with a | | | | associated with a |
| | | file system that has | | | | file system that has |
| | | been migrated to a | | | | been migrated to a |
| | | new server. | | | | new server. This |
| | | error does not apply |
| | | to and should never |
| | | be generated in |
| | | NFSv4.1. |
| NFS4ERR_LOCKED | 10012 | A read or write | | NFS4ERR_LOCKED | 10012 | A read or write |
| | | operation was | | | | operation was |
| | | attempted on a | | | | attempted on a |
| | | locked file. | | | | locked file. |
| NFS4ERR_LOCKS_HELD | 10037 | An operation to free |
| | | locking state was |
| | | prevented by the |
| | | unexpected presence |
| | | of locks. |
| NFS4ERR_LOCK_NOTSUPP | 10043 | Server does not | | NFS4ERR_LOCK_NOTSUPP | 10043 | Server does not |
| | | support atomic | | | | support atomic |
| | | upgrade or downgrade | | | | upgrade or downgrade |
| | | of locks. | | | | of locks. |
| NFS4ERR_LOCK_RANGE | 10028 | A lock request is | | NFS4ERR_LOCK_RANGE | 10028 | A lock request is |
| | | operating on a | | | | operating on a |
| | | sub-range of a | | | | sub-range of a |
| | | current lock for the | | | | current lock for the |
| | | lock owner and the | | | | lock owner and the |
| | | server does not | | | | server does not |
| | | support this type of | | | | support this type of |
| | | request. | | | | request. |
| NFS4ERR_LOCKS_HELD | 10037 | A CLOSE was |
| | | attempted and file |
| | | locks would exist |
| | | after the CLOSE. |
| NFS4ERR_MINOR_VERS_MISMATCH | 10021 | The server has | | NFS4ERR_MINOR_VERS_MISMATCH | 10021 | The server has |
| | | received a request | | | | received a request |
| | | that specifies an | | | | that specifies an |
| | | unsupported minor | | | | unsupported minor |
| | | version. The server | | | | version. The server |
| | | must return a | | | | must return a |
| | | COMPOUND4res with a | | | | COMPOUND4res with a |
| | | zero length | | | | zero length |
| | | operations result | | | | operations result |
| | | array. | | | | array. |
| NFS4ERR_SEQ_MISORDERED | 10063 | The requester sent a |
| | | SEQUENCE or |
| | | CB_SEQUENCE |
| | | operation with an |
| | | invalid sequence id. |
| NFS4ERR_SEQ_FALSE_RETRY | 10076 | The requester sent a |
| | | SEQUENCE or |
| | | CB_SEQUENCE |
| | | operation with slot |
| | | id and sequence id |
| | | that are in the |
| | | reply cache, but |
| | | replier detects that |
| | | the retry is not the |
| | | same as the original |
| | | request. |
| NFS4ERR_SEQUENCE_POS | 10064 | The requester sent a |
| | | COMPOUND or |
| | | CB_COMPOUND with a |
| | | SEQUENCE or |
| | | CB_SEQUENCE |
| | | operation that was |
| | | not the first |
| | | operation. |
| NFS4ERR_MLINK | 31 | Too many hard links. | | NFS4ERR_MLINK | 31 | Too many hard links. |
| NFS4ERR_MOVED | 10019 | The file system | | NFS4ERR_MOVED | 10019 | The file system |
| | | which contains the | | | | which contains the |
| | | current filehandle | | | | current filehandle |
| | | object is not | | | | object is not |
| | | present at the | | | | present at the |
| | | server. It may have | | | | server. It may have |
| | | been relocated, | | | | been relocated, |
| | | migrated to another | | | | migrated to another |
| | | server or may have | | | | server or may have |
skipping to change at page 313, line 35 skipping to change at page 313, line 35
| | | Space". | | | | Space". |
| NFS4ERR_NAMETOOLONG | 63 | The filename in an | | NFS4ERR_NAMETOOLONG | 63 | The filename in an |
| | | operation was too | | | | operation was too |
| | | long. | | | | long. |
| NFS4ERR_NOENT | 2 | No such file or | | NFS4ERR_NOENT | 2 | No such file or |
| | | directory. The file | | | | directory. The file |
| | | or directory name | | | | or directory name |
| | | specified does not | | | | specified does not |
| | | exist. | | | | exist. |
| NFS4ERR_NOFILEHANDLE | 10020 | The logical current | | NFS4ERR_NOFILEHANDLE | 10020 | The logical current |
| | | filehandle value | | | | or saved filehandle |
| | | (or, in the case of | | | | value is required by |
| | | RESTOREFH, the saved | | | | the current |
| | | filehandle value) | | | | operation ans is not |
| | | has not been set | | | | set. This may be a |
| | | properly. This may | | | | result of a |
| | | be a result of a |
| | | malformed COMPOUND | | | | malformed COMPOUND |
| | | operation (i.e. no | | | | operation (i.e. no |
| | | PUTFH or PUTROOTFH | | | | PUTFH or PUTROOTFH |
| | | before an operation | | | | before an operation |
| | | that requires the | | | | that requires the |
| | | current filehandle | | | | current filehandle |
| | | be set). | | | | be set). |
| NFS4ERR_NO_GRACE | 10033 | A reclaim of client |
| | | state was attempted |
| | | in circumstances in |
| | | which the server |
| | | cannot guarantee |
| | | that conflicting |
| | | state has not been |
| | | provided to another |
| | | client. This can |
| | | occur because the |
| | | reclaim has been |
| | | done outside of the |
| | | grace period of the |
| | | server, after the |
| | | client has done a |
| | | RECLAIM_COMPLETE |
| | | operation, or |
| | | because previous |
| | | operations have |
| | | created a situation |
| | | in which the server |
| | | is not able to |
| | | determine that a |
| | | reclaim-interfering |
| | | edge condition does |
| | | not exist. |
| NFS4ERR_NOMATCHING_LAYOUT | 10060 | Client has no | | NFS4ERR_NOMATCHING_LAYOUT | 10060 | Client has no |
| | | matching layout to | | | | matching layout to |
| | | return. | | | | return. |
| NFS4ERR_NOSPC | 28 | No space left on | | NFS4ERR_NOSPC | 28 | No space left on |
| | | device. The | | | | device. The |
| | | operation would have | | | | operation would have |
| | | caused the server's | | | | caused the server's |
| | | file system to | | | | file system to |
| | | exceed its limit. | | | | exceed its limit. |
| NFS4ERR_NOTDIR | 20 | Not a directory. | | NFS4ERR_NOTDIR | 20 | Not a directory. |
| | | The caller specified | | | | The caller specified |
| | | a non-directory in a | | | | a non-directory in a |
| | | directory operation. | | | | directory operation. |
| NFS4ERR_NOTEMPTY | 66 | An attempt was made | | NFS4ERR_NOTEMPTY | 66 | An attempt was made |
| | | to remove a | | | | to remove a |
| | | directory that was | | | | directory that was |
| | | not empty. | | | | not empty. |
| NFS4ERR_NOTSUPP | 10004 | Operation is not | | NFS4ERR_NOTSUPP | 10004 | Operation is not |
| | | supported. | | | | supported. |
| NFS4ERR_NOT_ONLY_OP | 10081 | An operation was |
| | | performed, which |
| | | requires that it be |
| | | the only operation |
| | | when not part of a |
| | | session and it was |
| | | not the only |
| | | operation. |
| NFS4ERR_NOT_SAME | 10027 | This error is | | NFS4ERR_NOT_SAME | 10027 | This error is |
| | | returned by the | | | | returned by the |
| | | VERIFY operation to | | | | VERIFY operation to |
| | | signify that the | | | | signify that the |
| | | attributes compared | | | | attributes compared |
| | | were not the same as | | | | were not the same as |
| | | provided in the | | | | provided in the |
| | | client's request. | | | | client's request. |
| NFS4ERR_NO_GRACE | 10033 | A reclaim of client |
| | | state was attempted |
| | | in circumstances in |
| | | which the server |
| | | cannot guarantee |
| | | that conflicting |
| | | state has not been |
| | | provided to another |
| | | client. This can |
| | | occur because the |
| | | reclaim has been |
| | | done outside of the |
| | | grace period of the |
| | | server, after the |
| | | client has done a |
| | | RECLAIM_COMPLETE |
| | | operation, or |
| | | because previous |
| | | operations have |
| | | created a situation |
| | | in which the server |
| | | is not able to |
| | | determine that a |
| | | reclaim-interfering |
| | | edge condition does |
| | | not exist. |
| NFS4ERR_NXIO | 6 | I/O error. No such | | NFS4ERR_NXIO | 6 | I/O error. No such |
| | | device or address. | | | | device or address. |
| | | This error does not |
| | | apply to and should |
| | | never be generated |
| | | in NFSv4.1. |
| NFS4ERR_OLD_STATEID | 10024 | A stateid which | | NFS4ERR_OLD_STATEID | 10024 | A stateid which |
| | | designates the | | | | designates the |
| | | locking state for a | | | | locking state for a |
| | | lockowner-file at an | | | | lockowner-file at an |
| | | earlier time was | | | | earlier time was |
| | | used. This error | | | | used. |
| | | does not apply to |
| | | and should never be |
| | | generated in |
| | | NFSv4.1. |
| NFS4ERR_OPENMODE | 10038 | The client attempted | | NFS4ERR_OPENMODE | 10038 | The client attempted |
| | | a READ, WRITE, LOCK | | | | a READ, WRITE, LOCK |
| | | or SETATTR operation | | | | or other operation |
| | | not sanctioned by | | | | not sanctioned by |
| | | the stateid passed | | | | the stateid passed |
| | | (e.g. writing to a | | | | (e.g. writing to a |
| | | file opened only for | | | | file opened only for |
| | | read). | | | | read). |
| NFS4ERR_OP_ILLEGAL | 10044 | An illegal operation | | NFS4ERR_OP_ILLEGAL | 10044 | An illegal operation |
| | | value has been | | | | value has been |
| | | specified in the | | | | specified in the |
| | | argop field of a | | | | argop field of a |
| | | COMPOUND or | | | | COMPOUND or |
skipping to change at page 316, line 26 skipping to change at page 316, line 41
| | | file of a data | | | | file of a data |
| | | server that is using | | | | server that is using |
| | | the STRIPE4_SPARSE | | | | the STRIPE4_SPARSE |
| | | stripe type. See | | | | stripe type. See |
| | | Section 13.5. | | | | Section 13.5. |
| NFS4ERR_PNFS_NO_LAYOUT | 10080 | The pNFS client has | | NFS4ERR_PNFS_NO_LAYOUT | 10080 | The pNFS client has |
| | | attempted to read | | | | attempted to read |
| | | from or write to a | | | | from or write to a |
| | | file without a valid | | | | file without a valid |
| | | layout. | | | | layout. |
| NFS4ERR_RECALLCONFLICT | 10061 | Layout is | | NFS4ERR_RECALLCONFLICT | 10061 | A layout, delgation, |
| | | or device map is |
| | | unavailable due to a | | | | unavailable due to a |
| | | conflicting | | | | conflicting recall |
| | | LAYOUTRECALL that is | | | | operation that is in |
| | | in progress. | | | | progress. |
| NFS4ERR_RECLAIM_BAD | 10034 | The reclaim provided | | NFS4ERR_RECLAIM_BAD | 10034 | The reclaim provided |
| | | by the client does | | | | by the client does |
| | | not match any of the | | | | not match any of the |
| | | server's state | | | | server's state |
| | | consistency checks | | | | consistency checks |
| | | and is bad. | | | | and is bad. |
| NFS4ERR_RECLAIM_CONFLICT | 10035 | The reclaim provided | | NFS4ERR_RECLAIM_CONFLICT | 10035 | The reclaim provided |
| | | by the client has | | | | by the client has |
| | | encountered a | | | | encountered a |
| | | conflict and can not | | | | conflict and can not |
skipping to change at page 317, line 24 skipping to change at page 317, line 44
| | | exceeds the | | | | exceeds the |
| | | channel's negotiated | | | | channel's negotiated |
| | | maximum size for | | | | maximum size for |
| | | requests. | | | | requests. |
| NFS4ERR_RESTOREFH | 10030 | The RESTOREFH | | NFS4ERR_RESTOREFH | 10030 | The RESTOREFH |
| | | operation does not | | | | operation does not |
| | | have a saved | | | | have a saved |
| | | filehandle | | | | filehandle |
| | | (identified by | | | | (identified by |
| | | SAVEFH) to operate | | | | SAVEFH) to operate |
| | | upon. | | | | upon. This error |
| | | does not apply to |
| | | and should never be |
| | | generated in |
| | | NFSv4.1. |
| NFS4ERR_RETRY_UNCACHED_REP | 10068 | The requester has | | NFS4ERR_RETRY_UNCACHED_REP | 10068 | The requester has |
| | | attempted a retry of | | | | attempted a retry of |
| | | COMPOUND or | | | | COMPOUND or |
| | | CB_COMPOUND which it | | | | CB_COMPOUND which it |
| | | previously requested | | | | previously requested |
| | | not be placed in the | | | | not be placed in the |
| | | reply cache. | | | | reply cache. |
| NFS4ERR_ROFS | 30 | Read-only file | | NFS4ERR_ROFS | 30 | Read-only file |
| | | system. A modifying | | | | system. A modifying |
| | | operation was | | | | operation was |
skipping to change at page 318, line 4 skipping to change at page 318, line 25
| | | read-only file | | | | read-only file |
| | | system. | | | | system. |
| NFS4ERR_SAME | 10009 | This error is | | NFS4ERR_SAME | 10009 | This error is |
| | | returned by the | | | | returned by the |
| | | NVERIFY operation to | | | | NVERIFY operation to |
| | | signify that the | | | | signify that the |
| | | attributes compared | | | | attributes compared |
| | | were the same as | | | | were the same as |
| | | provided in the | | | | provided in the |
| | | client's request. | | | | client's request. |
| NFS4ERR_SHARE_DENIED | 10015 | An attempt to OPEN a |
| | | file with a share |
| | | reservation has |
| | | failed because of a |
| | | share conflict. |
| NFS4ERR_SEQUENCE_POS | 10064 | The requester sent a |
| | | COMPOUND or |
| | | CB_COMPOUND with a |
| | | SEQUENCE or |
| | | CB_SEQUENCE |
| | | operation that was |
| | | not the first |
| | | operation. |
| NFS4ERR_SEQ_FALSE_RETRY | 10076 | The requester sent a |
| | | SEQUENCE or |
| | | CB_SEQUENCE |
| | | operation with slot |
| | | id and sequence id |
| | | that are in the |
| | | reply cache, but |
| | | replier detects that |
| | | the retry is not the |
| | | same as the original |
| | | request. |
| NFS4ERR_SEQ_MISORDERED | 10063 | The requester sent a |
| | | SEQUENCE or |
| | | CB_SEQUENCE |
| | | operation with an |
| | | invalid sequence id. |
| NFS4ERR_SERVERFAULT | 10006 | An error occurred on | | NFS4ERR_SERVERFAULT | 10006 | An error occurred on |
| | | the server which | | | | the server which |
| | | does not map to any | | | | does not map to any |
| | | of the legal NFS | | | | of the legal NFS |
| | | version 4 protocol | | | | version 4 protocol |
| | | error values. The | | | | error values. The |
| | | client should | | | | client should |
| | | translate this into | | | | translate this into |
| | | an appropriate | | | | an appropriate |
| | | error. UNIX clients | | | | error. UNIX clients |
| | | may choose to | | | | may choose to |
| | | translate this to | | | | translate this to |
| | | EIO. | | | | EIO. |
| NFS4ERR_SHARE_DENIED | 10015 | An attempt to OPEN a |
| | | file with a share |
| | | reservation has |
| | | failed because of a |
| | | share conflict. |
| NFS4ERR_STALE | 70 | Invalid filehandle. | | NFS4ERR_STALE | 70 | Invalid filehandle. |
| | | The filehandle given | | | | The filehandle given |
| | | in the arguments was | | | | in the arguments was |
| | | invalid. The file | | | | invalid. The file |
| | | referred to by that | | | | referred to by that |
| | | filehandle no longer | | | | filehandle no longer |
| | | exists or access to | | | | exists or access to |
| | | it has been revoked. | | | | it has been revoked. |
| NFS4ERR_STALE_CLIENTID | 10022 | A client ID not | | NFS4ERR_STALE_CLIENTID | 10022 | A client ID not |
| | | recognized by the | | | | recognized by the |
| | | server was used in a | | | | server was passed to |
| | | locking or | | | | an operation. |
| | | CREATE_SESSION |
| | | request. |
| NFS4ERR_STALE_STATEID | 10023 | A stateid generated | | NFS4ERR_STALE_STATEID | 10023 | A stateid generated |
| | | by an earlier server | | | | by an earlier server |
| | | instance was used. | | | | instance was used. |
| | | This error does not |
| | | apply to and should |
| | | never be generated |
| | | in NFSv4.1. |
| NFS4ERR_SYMLINK | 10029 | The current | | NFS4ERR_SYMLINK | 10029 | The current |
| | | filehandle provided | | | | filehandle provided |
| | | for a LOOKUP is not | | | | for a LOOKUP is not |
| | | a directory but a | | | | a directory but a |
| | | symbolic link. Also | | | | symbolic link. Also |
| | | used if the final | | | | used if the final |
| | | component of the | | | | component of the |
| | | OPEN path is a | | | | OPEN path is a |
| | | symbolic link. | | | | symbolic link. |
| NFS4ERR_TOOSMALL | 10005 | The encoded response | | NFS4ERR_TOOSMALL | 10005 | The encoded response |
skipping to change at page 319, line 18 skipping to change at page 320, line 18
| | | initial request. | | | | initial request. |
| NFS4ERR_TOO_MANY_OPS | 10070 | The COMPOUND or | | NFS4ERR_TOO_MANY_OPS | 10070 | The COMPOUND or |
| | | CB_COMPOUND request | | | | CB_COMPOUND request |
| | | has too many | | | | has too many |
| | | operations. | | | | operations. |
| NFS4ERR_UNKNOWN_LAYOUTTYPE | 10062 | Layout type is | | NFS4ERR_UNKNOWN_LAYOUTTYPE | 10062 | Layout type is |
| | | unknown. | | | | unknown. |
| NFS4ERR_UNSAFE_COMPOUND | 10069 | The client has sent | | NFS4ERR_UNSAFE_COMPOUND | 10069 | The client has sent |
| | | a COMPOUND request | | | | a COMPOUND request |
| | | with an unsafe mix | | | | with an unsafe mix |
| | | of operations. | | | | of operations, |
| | | specifically with a |
| | | non-idempotent |
| | | operation changing |
| | | the current |
| | | filehandle which is |
| | | not followed by a |
| | | GETFH |
| NFS4ERR_WRONGSEC | 10016 | The security | | NFS4ERR_WRONGSEC | 10016 | The security |
| | | mechanism being used | | | | mechanism being used |
| | | by the client for | | | | by the client for |
| | | the operation does | | | | the operation does |
| | | not match the | | | | not match the |
| | | server's security | | | | server's security |
| | | policy. The client | | | | policy. The client |
| | | should change the | | | | should change the |
| | | security mechanism | | | | security mechanism |
| | | being used and retry | | | | being used and retry |
| | | the operation. | | | | the operation. |
| NFS4ERR_WRONG_CRED | 10082 | An operation |
| | | mannipulating state |
| | | was performed by a |
| | | principal that was |
| | | not allowed to |
| | | modify that piece of |
| | | state. |
| NFS4ERR_WRONG_TYPE | 10083 | An operation was |
| | | passed a file object |
| | | that was not of the |
| | | required type, and |
| | | that type was not |
| | | representable, for |
| | | the current |
| | | operation, by a more |
| | | specific error, such |
| | | as NFS4ERR_ISDIR or |
| | | NFS4ERR_SYMLINK. |
| NFS4ERR_XDEV | 18 | Attempt to do an | | NFS4ERR_XDEV | 18 | Attempt to do an |
| | | operation between | | | | operation between |
| | | different fsids. | | | | different fsids. |
+-----------------------------------+--------+----------------------+ +-----------------------------------+--------+----------------------+
Table 11 Table 11
15.2. Operations and their valid errors 15.2. Operations and their valid errors
Mappings of valid error returns for each protocol operation Mappings of valid error returns for each protocol operation
skipping to change at page 320, line 4 skipping to change at page 321, line 25
| NFS4ERR_XDEV | 18 | Attempt to do an | | NFS4ERR_XDEV | 18 | Attempt to do an |
| | | operation between | | | | operation between |
| | | different fsids. | | | | different fsids. |
+-----------------------------------+--------+----------------------+ +-----------------------------------+--------+----------------------+
Table 11 Table 11
15.2. Operations and their valid errors 15.2. Operations and their valid errors
Mappings of valid error returns for each protocol operation Mappings of valid error returns for each protocol operation
+----------------------+--------------------------------------------+ +----------------------+--------------------------------------------+
| Operation | Errors | | Operation | Errors |
+----------------------+--------------------------------------------+ +----------------------+--------------------------------------------+
| ACCESS | NFS4ERR_ACCESS, NFS4ERR_BADHANDLE, | | ACCESS | NFS4ERR_ACCESS, NFS4ERR_BADXDR, |
| | NFS4ERR_BADXDR, NFS4ERR_DELAY, | | | NFS4ERR_DEADSESSION, NFS4ERR_DELAY, |
| | NFS4ERR_FHEXPIRED, NFS4ERR_INVAL, | | | NFS4ERR_FHEXPIRED, NFS4ERR_INVAL, |
| | NFS4ERR_IO, NFS4ERR_MOVED, | | | NFS4ERR_IO, NFS4ERR_MOVED, |
| | NFS4ERR_NOFILEHANDLE, | | | NFS4ERR_NOFILEHANDLE, |
| | NFS4ERR_OP_NOT_IN_SESSION, | | | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_REP_TOO_BIG, | | | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_UNSAFE_COMPOUND, | | | NFS4ERR_REQ_TOO_BIG, NFS4ERR_SERVERFAULT, |
| | NFS4ERR_SERVERFAULT, NFS4ERR_STALE | | | NFS4ERR_STALE, NFS4ERR_TOO_MANY_OPS |
| BIND_CONN_TO_SESSION | NFS4ERR_BADSESSION, | | BACKCHANNEL_CTL | NFS4ERR_BADXDR, NFS4ERR_DEADSESSION, |
| | NFS4ERR_DELAY, NFS4ERR_INVAL, |
| | NFS4ERR_NOENT, NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_TOO_MANY_OPS |
| BIND_CONN_TO_SESSION | NFS4ERR_BADSESSION, NFS4ERR_BADXDR, |
| | NFS4ERR_BAD_SESSION_DIGEST, | | | NFS4ERR_BAD_SESSION_DIGEST, |
| | NFS4ERR_CONN_BINDING_NOT_ENFORCED, | | | NFS4ERR_CONN_BINDING_NOT_ENFORCED, |
| | NFS4ERR_DEADSESSION | | | NFS4ERR_DEADSESSION, NFS4ERR_DELAY, |
| CLOSE | NFS4ERR_ADMIN_REVOKED, NFS4ERR_BADHANDLE, | | | NFS4ERR_INVAL, NFS4ERR_NOT_ONLY_OP, |
| | NFS4ERR_BAD_STATEID, NFS4ERR_BADXDR, | | | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_SERVERFAULT, |
| | NFS4ERR_TOO_MANY_OPS |
| CLOSE | NFS4ERR_ADMIN_REVOKED, NFS4ERR_BADXDR, |
| | NFS4ERR_BAD_STATEID, NFS4ERR_DEADSESSION, |
| | NFS4ERR_DELAY, NFS4ERR_EXPIRED, | | | NFS4ERR_DELAY, NFS4ERR_EXPIRED, |
| | NFS4ERR_FHEXPIRED, NFS4ERR_INVAL, | | | NFS4ERR_FHEXPIRED, NFS4ERR_LOCKS_HELD, |
| | NFS4ERR_ISDIR, NFS4ERR_LEASE_MOVED, | | | NFS4ERR_MOVED, NFS4ERR_NOFILEHANDLE, |
| | NFS4ERR_LOCKS_HELD, NFS4ERR_MOVED, | | | NFS4ERR_OLD_STATEID, |
| | NFS4ERR_NOFILEHANDLE, |
| | NFS4ERR_OP_NOT_IN_SESSION, | | | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_REP_TOO_BIG, | | | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_UNSAFE_COMPOUND, | | | NFS4ERR_REQ_TOO_BIG, NFS4ERR_SERVERFAULT, |
| | NFS4ERR_SERVERFAULT, NFS4ERR_STALE, | | | NFS4ERR_STALE, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_STALE_STATEID | | | NFS4ERR_WRONG_CRED |
| COMMIT | NFS4ERR_ACCESS, NFS4ERR_BADHANDLE, | | COMMIT | NFS4ERR_ACCESS, NFS4ERR_BADXDR, |
| | NFS4ERR_BADXDR, NFS4ERR_FHEXPIRED, | | | NFS4ERR_DEADSESSION, NFS4ERR_DELAY, |
| | NFS4ERR_INVAL, NFS4ERR_IO, NFS4ERR_ISDIR, | | | NFS4ERR_FHEXPIRED, NFS4ERR_IO, |
| | NFS4ERR_MOVED, NFS4ERR_NOFILEHANDLE, | | | NFS4ERR_ISDIR, NFS4ERR_MOVED, |
| | NFS4ERR_NOFILEHANDLE, |
| | NFS4ERR_OP_NOT_IN_SESSION, | | | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_REP_TOO_BIG, | | | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_UNSAFE_COMPOUND, NFS4ERR_ROFS, | | | NFS4ERR_REQ_TOO_BIG, NFS4ERR_SERVERFAULT, |
| | NFS4ERR_SERVERFAULT, NFS4ERR_STALE | | | NFS4ERR_STALE, NFS4ERR_SYMLINK, |
| | NFS4ERR_TOO_MANY_OPS, NFS4ERR_WRONG_TYPE |
| CREATE | NFS4ERR_ACCESS, NFS4ERR_ATTRNOTSUPP, | | CREATE | NFS4ERR_ACCESS, NFS4ERR_ATTRNOTSUPP, |
| | NFS4ERR_BADCHAR, NFS4ERR_BADHANDLE, | | | NFS4ERR_BADCHAR, NFS4ERR_BADNAME, |
| | NFS4ERR_BADNAME, NFS4ERR_BADOWNER, | | | NFS4ERR_BADOWNER, NFS4ERR_BADTYPE, |
| | NFS4ERR_BADTYPE, NFS4ERR_BADXDR, | | | NFS4ERR_BADXDR, NFS4ERR_DEADSESSION, |
| | NFS4ERR_DELAY, NFS4ERR_DQUOT, | | | NFS4ERR_DELAY, NFS4ERR_DQUOT, |
| | NFS4ERR_EXIST, NFS4ERR_FHEXPIRED, | | | NFS4ERR_EXIST, NFS4ERR_FHEXPIRED, |
| | NFS4ERR_INVAL, NFS4ERR_IO, NFS4ERR_MOVED, | | | NFS4ERR_INVAL, NFS4ERR_IO, NFS4ERR_MLINK, |
| | NFS4ERR_NAMETOOLONG, NFS4ERR_NOFILEHANDLE, | | | NFS4ERR_MOVED, NFS4ERR_NAMETOOLONG, |
| | NFS4ERR_NOSPC, NFS4ERR_NOTDIR, | | | NFS4ERR_NOFILEHANDLE, NFS4ERR_NOSPC, |
| | NFS4ERR_OP_NOT_IN_SESSION, NFS4ERR_PERM, | | | NFS4ERR_NOTDIR, NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_TOO_MANY_OPS, | | | NFS4ERR_PERM, NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_UNSAFE_COMPOUND, NFS4ERR_ROFS, | | | NFS4ERR_REQ_TOO_BIG, NFS4ERR_ROFS, |
| | NFS4ERR_SERVERFAULT, NFS4ERR_STALE | | | NFS4ERR_SERVERFAULT, NFS4ERR_STALE, |
| EXCHANGE_ID | NFS4ERR_BADXDR, NFS4ERR_CLID_INUSE, | | | NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_ENCR_ALG_UNSUPP, | | | NFS4ERR_UNSAFE_COMPOUND |
| EXCHANGE_ID | NFS4ERR_BADCHAR, NFS4ERR_BADXDR, |
| | NFS4ERR_CLID_INUSE, NFS4ERR_DEADSESSION, |
| | NFS4ERR_DELAY, NFS4ERR_ENCR_ALG_UNSUPP, |
| | NFS4ERR_HASH_ALG_UNSUPP, NFS4ERR_INVAL, | | | NFS4ERR_HASH_ALG_UNSUPP, NFS4ERR_INVAL, |
| | NFS4ERR_SERVERFAULT | | | NFS4ERR_NOENT, NFS4ERR_NOT_SAME, |
| | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_SERVERFAULT, |
| | NFS4ERR_TOO_MANY_OPS, NFS4ERR_WRONG_CRED |
| CREATE_SESSION | NFS4ERR_BADXDR, NFS4ERR_CLID_INUSE, | | CREATE_SESSION | NFS4ERR_BADXDR, NFS4ERR_CLID_INUSE, |
| | NFS4ERR_DELAY, NFS4ERR_SERVERFAULT, | | | NFS4ERR_DEADSESSION, NFS4ERR_DELAY, |
| | NFS4ERR_STALE_CLIENTID | | | NFS4ERR_INVAL, NFS4ERR_NOENT, |
| DELEGPURGE | NFS4ERR_BADXDR, NFS4ERR_NOTSUPP, | | | NFS4ERR_NOSPC, NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_LEASE_MOVED, NFS4ERR_MOVED, | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_REQ_TOO_BIG, |
| | NFS4ERR_SEQ_MISORDERED, |
| | NFS4ERR_SERVERFAULT, |
| | NFS4ERR_STALE_CLIENTID, NFS4ERR_TOOSMALL, |
| | NFS4ERR_TOO_MANY_OPS |
| DELEGPURGE | NFS4ERR_BADXDR, NFS4ERR_DEADSESSION, |
| | NFS4ERR_DELAY, NFS4ERR_NOTSUPP, |
| | NFS4ERR_OP_NOT_IN_SESSION, | | | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_REP_TOO_BIG, | | | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_UNSAFE_COMPOUND, | | | NFS4ERR_REQ_TOO_BIG, NFS4ERR_SERVERFAULT, |
| | NFS4ERR_SERVERFAULT, | | | NFS4ERR_TOO_MANY_OPS, NFS4ERR_WRONG_CRED |
| | NFS4ERR_STALE_CLIENTID | | DELEGRETURN | NFS4ERR_ADMIN_REVOKED, NFS4ERR_BADXDR, |
| DELEGRETURN | NFS4ERR_ADMIN_REVOKED, | | | NFS4ERR_BAD_STATEID, NFS4ERR_DEADSESSION, |
| | NFS4ERR_BAD_STATEID, NFS4ERR_BADXDR, | | | NFS4ERR_DELAY, NFS4ERR_DELEG_REVOKED, |
| | NFS4ERR_EXPIRED, NFS4ERR_INVAL, | | | NFS4ERR_EXPIRED, NFS4ERR_FHEXPIRED, |
| | NFS4ERR_LEASE_MOVED, NFS4ERR_MOVED, | | | NFS4ERR_INVAL, NFS4ERR_MOVED, |
| | NFS4ERR_NOFILEHANDLE, NFS4ERR_NOTSUPP, | | | NFS4ERR_NOFILEHANDLE, NFS4ERR_NOTSUPP, |
| | NFS4ERR_OLD_STATEID, |
| | NFS4ERR_OP_NOT_IN_SESSION, | | | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_REP_TOO_BIG, | | | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_UNSAFE_COMPOUND, | | | NFS4ERR_REQ_TOO_BIG, NFS4ERR_SERVERFAULT, |
| | NFS4ERR_SERVERFAULT, NFS4ERR_STALE, | | | NFS4ERR_STALE, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_STALE_STATEID | | | NFS4ERR_WRONG_CRED |
| DESTROY_CLIENTID | NFS4ERR_CLIENTID_BUSY, | | DESTROY_CLIENTID | NFS4ERR_BADXDR, NFS4ERR_CLIENTID_BUSY, |
| | NFS4ERR_STALE_CLIENTID | | | NFS4ERR_DEADSESSION, NFS4ERR_DELAY, |
| | NFS4ERR_NOT_ONLY_OP, NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_SERVERFAULT, |
| | NFS4ERR_STALE_CLIENTID, |
| | NFS4ERR_TOO_MANY_OPS, NFS4ERR_WRONG_CRED |
| DESTROY_SESSION | NFS4ERR_BACK_CHAN_BUSY, | | DESTROY_SESSION | NFS4ERR_BACK_CHAN_BUSY, |
| | NFS4ERR_BADSESSION, NFS4ERR_DEADSESSION, | | | NFS4ERR_BADSESSION, NFS4ERR_BADXDR, |
| | NFS4ERR_STALE_CLIENTID | | | NFS4ERR_DEADSESSION, NFS4ERR_DELAY, |
| GET_DIR_DELEGATION | NFS4ERR_ACCESS, NFS4ERR_BADHANDLE, | | | NFS4ERR_NOT_ONLY_OP, NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_BADXDR, NFS4ERR_FHEXPIRED, | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_INVAL, NFS4ERR_MOVED, | | | NFS4ERR_REQ_TOO_BIG, NFS4ERR_SERVERFAULT, |
| | NFS4ERR_STALE_CLIENTID, |
| | NFS4ERR_TOO_MANY_OPS, NFS4ERR_WRONG_CRED |
| FREE_STATEID | NFS4ERR_BADXDR, NFS4ERR_BAD_STATEID, |
| | NFS4ERR_DEADSESSION, NFS4ERR_DELAY, |
| | NFS4ERR_LOCKS_HELD, NFS4ERR_OLD_STATEID, |
| | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_SERVERFAULT, |
| | NFS4ERR_TOO_MANY_OPS, NFS4ERR_WRONG_CRED |
| GET_DIR_DELEGATION | NFS4ERR_ACCESS, NFS4ERR_BADXDR, |
| | NFS4ERR_DEADSESSION, NFS4ERR_DELAY, |
| | NFS4ERR_DIRDELEG_UNAVAIL, |
| | NFS4ERR_FHEXPIRED, NFS4ERR_GRACE, |
| | NFS4ERR_INVAL, NFS4ERR_IO, NFS4ERR_MOVED, |
| | NFS4ERR_NOFILEHANDLE, NFS4ERR_NOTDIR, | | | NFS4ERR_NOFILEHANDLE, NFS4ERR_NOTDIR, |
| | NFS4ERR_NOTSUPP, |
| | NFS4ERR_OP_NOT_IN_SESSION, | | | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_REP_TOO_BIG, | | | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_UNSAFE_COMPOUND, | | | NFS4ERR_REQ_TOO_BIG, NFS4ERR_SERVERFAULT, |
| | NFS4ERR_SERVERFAULT, NFS4ERR_STALE, | | | NFS4ERR_STALE, NFS4ERR_TOO_MANY_OPS |
| | NFS4ERR_WRONGSEC, NFS4ERR_EIO, | | GETATTR | NFS4ERR_ACCESS, NFS4ERR_BADXDR, |
| | NFS4ERR_NOTSUPP | | | NFS4ERR_DEADSESSION, NFS4ERR_DELAY, |
| GETATTR | NFS4ERR_ACCESS, NFS4ERR_BADHANDLE, | | | NFS4ERR_FHEXPIRED, NFS4ERR_GRACE, |
| | NFS4ERR_BADXDR, NFS4ERR_DELAY, | | | NFS4ERR_INVAL, NFS4ERR_IO, NFS4ERR_MOVED, |
| | NFS4ERR_FHEXPIRED, NFS4ERR_INVAL, |
| | NFS4ERR_IO, NFS4ERR_MOVED, |
| | NFS4ERR_NOFILEHANDLE, | | | NFS4ERR_NOFILEHANDLE, |
| | NFS4ERR_OP_NOT_IN_SESSION, | | | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_REP_TOO_BIG, | | | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_UNSAFE_COMPOUND, | | | NFS4ERR_REQ_TOO_BIG, NFS4ERR_SERVERFAULT, |
| | NFS4ERR_SERVERFAULT, NFS4ERR_STALE | | | NFS4ERR_STALE, NFS4ERR_TOO_MANY_OPS, |
| GETDEVICEINFO | NFS4ERR_FHEXPIRED, NFS4ERR_INVAL, | | | NFS4ERR_WRONG_TYPE |
| | NFS4ERR_TOOSMALL, | | GETDEVICEINFO | NFS4ERR_BADXDR, NFS4ERR_DEADSESSION, |
| | NFS4ERR_UNKNOWN_LAYOUTTYPE | | | NFS4ERR_DELAY, NFS4ERR_INVAL, |
| GETDEVICELIST | NFS4ERR_BAD_COOKIE, NFS4ERR_FHEXPIRED, | | | NFS4ERR_NOENT, NFS4ERR_NOFILEHANDLE, |
| | NFS4ERR_INVAL, NFS4ERR_TOOSMALL, | | | NFS4ERR_NOTSUPP, |
| | NFS4ERR_UNKNOWN_LAYOUTTYPE |
| GETFH | NFS4ERR_BADHANDLE, NFS4ERR_FHEXPIRED, |
| | NFS4ERR_MOVED, NFS4ERR_NOFILEHANDLE, |
| | NFS4ERR_OP_NOT_IN_SESSION, | | | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_TOO_MANY_OPS, | | | NFS4ERR_RECALLCONFLICT, |
| | NFS4ERR_REP_TOO_BIG, | | | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_UNSAFE_COMPOUND, | | | NFS4ERR_REQ_TOO_BIG, NFS4ERR_SERVERFAULT, |
| | NFS4ERR_SERVERFAULT, NFS4ERR_STALE | | | NFS4ERR_TOOSMALL, NFS4ERR_TOO_MANY_OPS, |
| ILLEGAL | NFS4ERR_OP_ILLEGAL | | | NFS4ERR_UNKNOWN_LAYOUTTYPE, |
| LAYOUTCOMMIT | NFS4ERR_BADLAYOUT, NFS4ERR_BADIOMODE, | | | NFS4ERR_UNSAFE_COMPOUND |
| | NFS4ERR_FHEXPIRED, NFS4ERR_INVAL, | | GETDEVICELIST | NFS4ERR_BADXDR, NFS4ERR_BAD_COOKIE, |
| | NFS4ERR_NOFILEHANDLE, NFS4ERR_NO_GRACE, | | | NFS4ERR_DEADSESSION, NFS4ERR_DELAY, |
| | NFS4ERR_RECLAIM_BAD, NFS4ERR_STALE, | | | NFS4ERR_INVAL, NFS4ERR_NOFILEHANDLE, |
| | NFS4ERR_STALE_CLIENTID, | | | NFS4ERR_NOTSUPP, |
| | NFS4ERR_UNKNOWN_LAYOUTTYPE | | | NFS4ERR_OP_NOT_IN_SESSION, |
| LAYOUTGET | NFS4ERR_BADLAYOUT, NFS4ERR_BADIOMODE, | | | NFS4ERR_RECALLCONFLICT, |
| | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_SERVERFAULT, |
| | NFS4ERR_TOOSMALL, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_UNKNOWN_LAYOUTTYPE, |
| | NFS4ERR_UNSAFE_COMPOUND |
| GETFH | NFS4ERR_FHEXPIRED, NFS4ERR_MOVED, |
| | NFS4ERR_NOFILEHANDLE, |
| | NFS4ERR_OP_NOT_IN_SESSION, NFS4ERR_STALE |
| ILLEGAL | NFS4ERR_BADXDR NFS4ERR_OP_ILLEGAL |
| LAYOUTCOMMIT | NFS4ERR_ACCESS, NFS4ERR_ADMIN_REVOKED, |
| | NFS4ERR_ATTRNOTSUPP, NFS4ERR_BADIOMODE, |
| | NFS4ERR_BADLAYOUT, NFS4ERR_BADXDR, |
| | NFS4ERR_DEADSESSION, NFS4ERR_DELAY, |
| | NFS4ERR_EXPIRED, NFS4ERR_FBIG, |
| | NFS4ERR_FHEXPIRED, NFS4ERR_GRACE, | | | NFS4ERR_FHEXPIRED, NFS4ERR_GRACE, |
| | NFS4ERR_INVAL, NFS4ERR_LAYOUTUNAVAILABLE, | | | NFS4ERR_IO, NFS4ERR_ISDIR NFS4ERR_MOVED, |
| | NFS4ERR_LAYOUTTRYLATER, NFS4ERR_LOCKED, |
| | NFS4ERR_NOFILEHANDLE, NFS4ERR_NOTSUPP, | | | NFS4ERR_NOFILEHANDLE, NFS4ERR_NOTSUPP, |
| | NFS4ERR_RECALLCONFLICT, NFS4ERR_STALE, | | | NFS4ERR_NO_GRACE, |
| | NFS4ERR_STALE_CLIENTID, NFS4ERR_TOOSMALL, | | | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_UNKNOWN_LAYOUTTYPE | | | NFS4ERR_RECLAIM_BAD, |
| LAYOUTRETURN | NFS4ERR_BADLAYOUT, NFS4ERR_BADIOMODE, | | | NFS4ERR_RECLAIM_CONFLICT, |
| | NFS4ERR_FHEXPIRED, NFS4ERR_INVAL, | | | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_NOFILEHANDLE, NFS4ERR_NO_GRACE, | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_STALE, NFS4ERR_STALE_CLIENTID, | | | NFS4ERR_REQ_TOO_BIG, NFS4ERR_SERVERFAULT, |
| | NFS4ERR_UNKNOWN_LAYOUTTYPE | | | NFS4ERR_STALE, NFS4ERR_SYMLINK, |
| | NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_UNKNOWN_LAYOUTTYPE, |
| | NFS4ERR_WRONG_CRED |
| LAYOUTGET | NFS4ERR_ACCESS, NFS4ERR_ADMIN_REVOKED, |
| | NFS4ERR_BADIOMODE, NFS4ERR_BADLAYOUT, |
| | NFS4ERR_BADXDR, NFS4ERR_BAD_STATEID, |
| | NFS4ERR_DEADSESSION, NFS4ERR_DELAY, |
| | NFS4ERR_DELEG_REVOKED, NFS4ERR_DQUOT, |
| | NFS4ERR_FHEXPIRED, NFS4ERR_GRACE, |
| | NFS4ERR_INVAL, NFS4ERR_IO, |
| | NFS4ERR_LAYOUTTRYLATER, |
| | NFS4ERR_LAYOUTUNAVAILABLE, NFS4ERR_LOCKED, |
| | NFS4ERR_MOVED, NFS4ERR_NOFILEHANDLE, |
| | NFS4ERR_NOSPC, NFS4ERR_NOTSUPP, |
| | NFS4ERR_OLD_STATEID, NFS4ERR_OPENMODE, |
| | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_RECALLCONFLICT, |
| | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_SERVERFAULT, |
| | NFS4ERR_STALE, NFS4ERR_TOOSMALL, |
| | NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_UNKNOWN_LAYOUTTYPE, |
| | NFS4ERR_WRONG_TYPE |
| LAYOUTRETURN | NFS4ERR_ADMIN_REVOKED, NFS4ERR_BADXDR, |
| | NFS4ERR_BAD_STATEID, NFS4ERR_DEADSESSION, |
| | NFS4ERR_DELAY, NFS4ERR_DELEG_REVOKED, |
| | NFS4ERR_EXPIRED, NFS4ERR_FHEXPIRED, |
| | NFS4ERR_GRACE, NFS4ERR_INVAL, |
| | NFS4ERR_ISDIR, NFS4ERR_MOVED, |
| | NFS4ERR_NOFILEHANDLE, NFS4ERR_NOTSUPP, |
| | NFS4ERR_NO_GRACE, NFS4ERR_OLD_STATEID, |
| | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_SERVERFAULT, |
| | NFS4ERR_STALE, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_UNKNOWN_LAYOUTTYPE, |
| | NFS4ERR_WRONG_CRED, NFS4ERR_WRONG_TYPE |
| LINK | NFS4ERR_ACCESS, NFS4ERR_BADCHAR, | | LINK | NFS4ERR_ACCESS, NFS4ERR_BADCHAR, |
| | NFS4ERR_BADHANDLE, NFS4ERR_BADNAME, | | | NFS4ERR_BADNAME, NFS4ERR_BADTYPE, |
| | NFS4ERR_BADXDR, NFS4ERR_DELAY, | | | NFS4ERR_BADXDR, NFS4ERR_DEADSESSION, |
| | NFS4ERR_DQUOT, NFS4ERR_EXIST, | | | NFS4ERR_DELAY, NFS4ERR_DQUOT, |
| | NFS4ERR_FHEXPIRED, NFS4ERR_FILE_OPEN, | | | NFS4ERR_EXIST, NFS4ERR_FHEXPIRED, |
| | NFS4ERR_INVAL, NFS4ERR_IO, NFS4ERR_ISDIR, | | | NFS4ERR_FILE_OPEN, NFS4ERR_GRACE, |
| | NFS4ERR_INVAL, NFS4ERR_ISDIR, NFS4ERR_IO, |
| | NFS4ERR_MLINK, NFS4ERR_MOVED, | | | NFS4ERR_MLINK, NFS4ERR_MOVED, |
| | NFS4ERR_NAMETOOLONG, NFS4ERR_NOENT, | | | NFS4ERR_NAMETOOLONG, NFS4ERR_NOFILEHANDLE, |
| | NFS4ERR_NOFILEHANDLE, NFS4ERR_NOSPC, | | | NFS4ERR_NOSPC, NFS4ERR_NOTDIR, |
| | NFS4ERR_NOTDIR, NFS4ERR_NOTSUPP, | | | NFS4ERR_NOTSUPP, |
| | NFS4ERR_OP_NOT_IN_SESSION, | | | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_REP_TOO_BIG, | | | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_UNSAFE_COMPOUND, NFS4ERR_ROFS, | | | NFS4ERR_REQ_TOO_BIG, NFS4ERR_ROFS, |
| | NFS4ERR_SERVERFAULT, NFS4ERR_STALE, | | | NFS4ERR_SERVERFAULT, NFS4ERR_STALE, |
| | NFS4ERR_WRONGSEC, NFS4ERR_XDEV | | | NFS4ERR_SYMLINK, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_XDEV |
| LOCK | NFS4ERR_ACCESS, NFS4ERR_ADMIN_REVOKED, | | LOCK | NFS4ERR_ACCESS, NFS4ERR_ADMIN_REVOKED, |
| | NFS4ERR_BADHANDLE, NFS4ERR_BAD_RANGE, | | | NFS4ERR_BADXDR, NFS4ERR_BAD_RANGE, |
| | NFS4ERR_BAD_STATEID, NFS4ERR_BADXDR, | | | NFS4ERR_BAD_STATEID, NFS4ERR_DEADLOCK, |
| | NFS4ERR_DEADLOCK, NFS4ERR_DELAY, | | | NFS4ERR_DEADSESSION, NFS4ERR_DELAY, |
| | NFS4ERR_DENIED, NFS4ERR_EXPIRED, | | | NFS4ERR_DENIED, NFS4ERR_EXPIRED, |
| | NFS4ERR_FHEXPIRED, NFS4ERR_GRACE, | | | NFS4ERR_FHEXPIRED, NFS4ERR_GRACE, |
| | NFS4ERR_INVAL, NFS4ERR_ISDIR, | | | NFS4ERR_INVAL, NFS4ERR_ISDIR, |
| | NFS4ERR_LEASE_MOVED, NFS4ERR_LOCK_NOTSUPP, | | | NFS4ERR_LOCK_NOTSUPP, NFS4ERR_LOCK_RANGE, |
| | NFS4ERR_LOCK_RANGE, NFS4ERR_MOVED, | | | NFS4ERR_MOVED, NFS4ERR_NOFILEHANDLE, |
| | NFS4ERR_NOFILEHANDLE, NFS4ERR_NO_GRACE, | | | NFS4ERR_NO_GRACE, NFS4ERR_OLD_STATEID, |
| | NFS4ERR_OPENMODE, | | | NFS4ERR_OPENMODE, |
| | NFS4ERR_OP_NOT_IN_SESSION, | | | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_RECLAIM_BAD, | | | NFS4ERR_RECLAIM_BAD, |
| | NFS4ERR_RECLAIM_CONFLICT, | | | NFS4ERR_RECLAIM_CONFLICT, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_REP_TOO_BIG, | | | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_UNSAFE_COMPOUND, | | | NFS4ERR_REQ_TOO_BIG, NFS4ERR_ROFS, |
| | NFS4ERR_SERVERFAULT, NFS4ERR_STALE, | | | NFS4ERR_SERVERFAULT, NFS4ERR_STALE, |
| | NFS4ERR_STALE_CLIENTID, | | | NFS4ERR_SYMLINK, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_STALE_STATEID | | | NFS4ERR_WRONG_CRED, NFS4ERR_WRONG_TYPE |
| LOCKT | NFS4ERR_ACCESS, NFS4ERR_BADHANDLE, | | LOCKT | NFS4ERR_ACCESS, NFS4ERR_BADXDR, |
| | NFS4ERR_BAD_RANGE, NFS4ERR_BADXDR, | | | NFS4ERR_BAD_RANGE, NFS4ERR_DEADSESSION, |
| | NFS4ERR_DELAY, NFS4ERR_DENIED, | | | NFS4ERR_DELAY, NFS4ERR_DENIED, |
| | NFS4ERR_FHEXPIRED, NFS4ERR_GRACE, | | | NFS4ERR_FHEXPIRED, NFS4ERR_GRACE, |
| | NFS4ERR_INVAL, NFS4ERR_ISDIR, | | | NFS4ERR_INVAL, NFS4ERR_ISDIR, |
| | NFS4ERR_LEASE_MOVED, NFS4ERR_LOCK_RANGE, | | | NFS4ERR_LOCK_RANGE, NFS4ERR_MOVED, |
| | NFS4ERR_MOVED, NFS4ERR_NOFILEHANDLE, | | | NFS4ERR_NOFILEHANDLE, |
| | NFS4ERR_OP_NOT_IN_SESSION, | | | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_REP_TOO_BIG, | | | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_UNSAFE_COMPOUND, | | | NFS4ERR_REQ_TOO_BIG, NFS4ERR_ROFS, |
| | NFS4ERR_SERVERFAULT, NFS4ERR_STALE, | | | NFS4ERR_STALE, NFS4ERR_SYMLINK, |
| | NFS4ERR_STALE_CLIENTID | | | NFS4ERR_TOO_MANY_OPS, NFS4ERR_WRONG_CRED, |
| | NFS4ERR_WRONG_TYPE |
| LOCKU | NFS4ERR_ACCESS, NFS4ERR_ADMIN_REVOKED, | | LOCKU | NFS4ERR_ACCESS, NFS4ERR_ADMIN_REVOKED, |
| | NFS4ERR_BADHANDLE, NFS4ERR_BAD_RANGE, | | | NFS4ERR_BADXDR, NFS4ERR_BAD_RANGE, |
| | NFS4ERR_BAD_STATEID, NFS4ERR_BADXDR, | | | NFS4ERR_BAD_STATEID, NFS4ERR_DEADSESSION, |
| | NFS4ERR_EXPIRED, NFS4ERR_FHEXPIRED, | | | NFS4ERR_DELAY, NFS4ERR_EXPIRED, |
| | NFS4ERR_GRACE, NFS4ERR_INVAL, | | | NFS4ERR_FHEXPIRED, NFS4ERR_INVAL, |
| | NFS4ERR_ISDIR, NFS4ERR_LEASE_MOVED, |
| | NFS4ERR_LOCK_RANGE, NFS4ERR_MOVED, | | | NFS4ERR_LOCK_RANGE, NFS4ERR_MOVED, |
| | NFS4ERR_NOFILEHANDLE, | | | NFS4ERR_NOFILEHANDLE, NFS4ERR_OLD_STATEID, |
| | NFS4ERR_OP_NOT_IN_SESSION, | | | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_REP_TOO_BIG, | | | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_UNSAFE_COMPOUND, | | | NFS4ERR_REQ_TOO_BIG, NFS4ERR_SERVERFAULT, |
| | NFS4ERR_SERVERFAULT, NFS4ERR_STALE, | | | NFS4ERR_STALE, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_STALE_STATEID | | | NFS4ERR_WRONG_CRED |
| LOOKUP | NFS4ERR_ACCESS, NFS4ERR_BADCHAR, | | LOOKUP | NFS4ERR_ACCESS, NFS4ERR_BADCHAR, |
| | NFS4ERR_BADHANDLE, NFS4ERR_BADNAME, | | | NFS4ERR_BADNAME, NFS4ERR_BADXDR, |
| | NFS4ERR_BADXDR, NFS4ERR_FHEXPIRED, | | | NFS4ERR_DEADSESSION, NFS4ERR_DELAY, |
| | NFS4ERR_INVAL, NFS4ERR_IO, NFS4ERR_MOVED, | | | NFS4ERR_FHEXPIRED, NFS4ERR_INVAL, |
| | NFS4ERR_IO, NFS4ERR_MOVED, |
| | NFS4ERR_NAMETOOLONG, NFS4ERR_NOENT, | | | NFS4ERR_NAMETOOLONG, NFS4ERR_NOENT, |
| | NFS4ERR_NOFILEHANDLE, NFS4ERR_NOTDIR, | | | NFS4ERR_NOFILEHANDLE, NFS4ERR_NOTDIR, |
| | NFS4ERR_OP_NOT_IN_SESSION, | | | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_REP_TOO_BIG, | | | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_UNSAFE_COMPOUND, | | | NFS4ERR_REQ_TOO_BIG, NFS4ERR_SERVERFAULT, |
| | NFS4ERR_SERVERFAULT, NFS4ERR_STALE, | | | NFS4ERR_STALE, NFS4ERR_SYMLINK, |
| | NFS4ERR_SYMLINK, NFS4ERR_WRONGSEC | | | NFS4ERR_TOO_MANY_OPS, NFS4ERR_WRONGSEC |
| LOOKUPP | NFS4ERR_ACCESS, NFS4ERR_BADHANDLE, | | LOOKUPP | NFS4ERR_ACCESS, NFS4ERR_DEADSESSION, |
| | NFS4ERR_FHEXPIRED, NFS4ERR_IO, | | | NFS4ERR_DELAY, NFS4ERR_FHEXPIRED, |
| | NFS4ERR_MOVED, NFS4ERR_NOENT, | | | NFS4ERR_IO, NFS4ERR_MOVED, NFS4ERR_NOENT, |
| | NFS4ERR_NOFILEHANDLE, NFS4ERR_NOTDIR, | | | NFS4ERR_NOFILEHANDLE, NFS4ERR_NOTDIR, |
| | NFS4ERR_OP_NOT_IN_SESSION, | | | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_REP_TOO_BIG, | | | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_UNSAFE_COMPOUND, | | | NFS4ERR_REQ_TOO_BIG, NFS4ERR_SERVERFAULT, |
| | NFS4ERR_SERVERFAULT, NFS4ERR_STALE, | | | NFS4ERR_STALE, NFS4ERR_SYMLINK, |
| | NFS4ERR_WRONGSEC | | | NFS4ERR_TOO_MANY_OPS, NFS4ERR_WRONGSEC |
| NVERIFY | NFS4ERR_ACCESS, NFS4ERR_ATTRNOTSUPP, | | NVERIFY | NFS4ERR_ACCESS, NFS4ERR_ATTRNOTSUPP, |
| | NFS4ERR_BADCHAR, NFS4ERR_BADHANDLE, | | | NFS4ERR_BADCHAR, NFS4ERR_BADXDR, |
| | NFS4ERR_BADXDR, NFS4ERR_DELAY, | | | NFS4ERR_DEADSESSION, NFS4ERR_DELAY, |
| | NFS4ERR_FHEXPIRED, NFS4ERR_INVAL, | | | NFS4ERR_FHEXPIRED, NFS4ERR_GRACE, |
| | NFS4ERR_IO, NFS4ERR_MOVED, | | | NFS4ERR_INVAL, NFS4ERR_IO, NFS4ERR_MOVED, |
| | NFS4ERR_NOFILEHANDLE, | | | NFS4ERR_NOFILEHANDLE, |
| | NFS4ERR_OP_NOT_IN_SESSION, | | | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_REP_TOO_BIG, | | | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_UNSAFE_COMPOUND, NFS4ERR_SAME, | | | NFS4ERR_REQ_TOO_BIG, NFS4ERR_SAME, |
| | NFS4ERR_SERVERFAULT, NFS4ERR_STALE | | | NFS4ERR_SERVERFAULT, NFS4ERR_STALE, |
| | NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_UNKNOWN_LAYOUTTYPE, |
| | NFS4ERR_WRONG_TYPE |
| OPEN | NFS4ERR_ACCESS, NFS4ERR_ADMIN_REVOKED, | | OPEN | NFS4ERR_ACCESS, NFS4ERR_ADMIN_REVOKED, |
| | NFS4ERR_ATTRNOTSUPP, NFS4ERR_BADCHAR, | | | NFS4ERR_ATTRNOTSUPP, NFS4ERR_BADCHAR, |
| | NFS4ERR_BADHANDLE, NFS4ERR_BADNAME, | | | NFS4ERR_BADNAME, NFS4ERR_BADOWNER, |
| | NFS4ERR_BADOWNER, NFS4ERR_BADXDR, | | | NFS4ERR_BADXDR, NFS4ERR_BAD_STATEID, |
| | NFS4ERR_DELAY, NFS4ERR_DQUOT, | | | NFS4ERR_DEADSESSION, NFS4ERR_DELAY, |
| | NFS4ERR_DELEG_ALREADY_WANTED, |
| | NFS4ERR_DELEG_REVOKED, NFS4ERR_DQUOT, |
| | NFS4ERR_EXIST, NFS4ERR_EXPIRED, | | | NFS4ERR_EXIST, NFS4ERR_EXPIRED, |
| | NFS4ERR_FHEXPIRED, NFS4ERR_GRACE, | | | NFS4ERR_FBIG, NFS4ERR_FHEXPIRED, |
| | NFS4ERR_IO, NFS4ERR_INVAL, NFS4ERR_ISDIR, | | | NFS4ERR_GRACE, NFS4ERR_INVAL, |
| | NFS4ERR_LEASE_MOVED, NFS4ERR_MOVED, | | | NFS4ERR_ISDIR, NFS4ERR_IO, NFS4ERR_MOVED, |
| | NFS4ERR_NAMETOOLONG, NFS4ERR_NOENT, | | | NFS4ERR_NAMETOOLONG, NFS4ERR_NOENT, |
| | NFS4ERR_NOFILEHANDLE, NFS4ERR_NOSPC, | | | NFS4ERR_NOFILEHANDLE, NFS4ERR_NOSPC, |
| | NFS4ERR_NOTDIR, NFS4ERR_NO_GRACE, | | | NFS4ERR_NOTDIR, NFS4ERR_NO_GRACE, |
| | NFS4ERR_PERM, NFS4ERR_RECLAIM_BAD, | | | NFS4ERR_OLD_STATEID, |
| | NFS4ERR_OP_NOT_IN_SESSION, NFS4ERR_PERM, |
| | NFS4ERR_RECLAIM_BAD, |
| | NFS4ERR_RECLAIM_CONFLICT, | | | NFS4ERR_RECLAIM_CONFLICT, |
| | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_REP_TOO_BIG, | | | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_UNSAFE_COMPOUND, NFS4ERR_ROFS, | | | NFS4ERR_REQ_TOO_BIG, NFS4ERR_ROFS, |
| | NFS4ERR_SERVERFAULT, NFS4ERR_SHARE_DENIED, | | | NFS4ERR_SERVERFAULT, NFS4ERR_SHARE_DENIED, |
| | NFS4ERR_STALE, NFS4ERR_STALE_CLIENTID, | | | NFS4ERR_STALE, NFS4ERR_SYMLINK, |
| | NFS4ERR_SYMLINK, NFS4ERR_WRONGSEC | | | NFS4ERR_TOO_MANY_OPS, |
| OPEN_DOWNGRADE | NFS4ERR_ADMIN_REVOKED, NFS4ERR_BADHANDLE, | | | NFS4ERR_UNSAFE_COMPOUND, NFS4ERR_WRONGSEC, |
| | NFS4ERR_BAD_STATEID, NFS4ERR_BADXDR, | | | NFS4ERR_WRONG_TYPE |
| | NFS4ERR_EXPIRED, NFS4ERR_FHEXPIRED, | | OPEN_CONFIRM | NFS4ERR_NOTSUPP |
| | NFS4ERR_INVAL, NFS4ERR_MOVED, | | OPEN_DOWNGRADE | NFS4ERR_ADMIN_REVOKED, NFS4ERR_BADXDR, |
| | NFS4ERR_NOFILEHANDLE, | | | NFS4ERR_BAD_STATEID, NFS4ERR_DEADSESSION, |
| | NFS4ERR_DELAY, NFS4ERR_EXPIRED, |
| | NFS4ERR_FHEXPIRED, NFS4ERR_INVAL, |
| | NFS4ERR_MOVED, NFS4ERR_NOFILEHANDLE, |
| | NFS4ERR_OLD_STATEID, |
| | NFS4ERR_OP_NOT_IN_SESSION, | | | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_REP_TOO_BIG, | | | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_UNSAFE_COMPOUND, | | | NFS4ERR_REQ_TOO_BIG, NFS4ERR_ROFS, |
| | NFS4ERR_SERVERFAULT, NFS4ERR_STALE, | | | NFS4ERR_SERVERFAULT, NFS4ERR_STALE, |
| | NFS4ERR_STALE_STATEID | | | NFS4ERR_TOO_MANY_OPS, NFS4ERR_WRONG_CRED |
| OPENATTR | NFS4ERR_ACCESS, NFS4ERR_BADHANDLE, | | OPENATTR | NFS4ERR_ACCESS, NFS4ERR_BADXDR, |
| | NFS4ERR_BADXDR, NFS4ERR_DELAY, | | | NFS4ERR_DEADSESSION, NFS4ERR_DELAY, |
| | NFS4ERR_DQUOT, NFS4ERR_FHEXPIRED, | | | NFS4ERR_DQUOT, NFS4ERR_FHEXPIRED, |
| | NFS4ERR_IO, NFS4ERR_MOVED, NFS4ERR_NOENT, | | | NFS4ERR_IO, NFS4ERR_MOVED, NFS4ERR_NOENT, |
| | NFS4ERR_NOFILEHANDLE, NFS4ERR_NOSPC, | | | NFS4ERR_NOFILEHANDLE, NFS4ERR_NOSPC, |
| | NFS4ERR_NOTSUPP, | | | NFS4ERR_NOTSUPP, |
| | NFS4ERR_OP_NOT_IN_SESSION, | | | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_REP_TOO_BIG, | | | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_UNSAFE_COMPOUND, NFS4ERR_ROFS, | | | NFS4ERR_REQ_TOO_BIG, NFS4ERR_ROFS, |
| | NFS4ERR_SERVERFAULT, NFS4ERR_STALE | | | NFS4ERR_SERVERFAULT, NFS4ERR_STALE, |
| | NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_UNSAFE_COMPOUND, |
| | NFS4ERR_WRONG_TYPE |
| PUTFH | NFS4ERR_BADHANDLE, NFS4ERR_BADXDR, | | PUTFH | NFS4ERR_BADHANDLE, NFS4ERR_BADXDR, |
| | NFS4ERR_FHEXPIRED, NFS4ERR_MOVED, | | | NFS4ERR_DEADSESSION, NFS4ERR_DELAY, |
| | NFS4ERR_OP_NOT_IN_SESSION, | | | NFS4ERR_MOVED, NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_REP_TOO_BIG, | | | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_UNSAFE_COMPOUND, | | | NFS4ERR_REQ_TOO_BIG, NFS4ERR_SERVERFAULT, |
| | NFS4ERR_SERVERFAULT, NFS4ERR_STALE, | | | NFS4ERR_STALE, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_WRONGSEC | | | NFS4ERR_WRONGSEC |
| PUTPUBFH | NFS4ERR_OP_NOT_IN_SESSION, | | PUTPUBFH | NFS4ERR_DEADSESSION, NFS4ERR_DELAY, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_TOO_MANY_OPS, | | | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REP_TOO_BIG, | | | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_UNSAFE_COMPOUND, | | | NFS4ERR_REQ_TOO_BIG, NFS4ERR_SERVERFAULT, |
| | NFS4ERR_SERVERFAULT, NFS4ERR_WRONGSEC | | | NFS4ERR_TOO_MANY_OPS, NFS4ERR_WRONGSEC |
| PUTROOTFH | NFS4ERR_OP_NOT_IN_SESSION, | | PUTROOTFH | NFS4ERR_DEADSESSION, NFS4ERR_DELAY, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_TOO_MANY_OPS, | | | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REP_TOO_BIG, | | | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_UNSAFE_COMPOUND, | | | NFS4ERR_REQ_TOO_BIG, NFS4ERR_SERVERFAULT, |
| | NFS4ERR_SERVERFAULT, NFS4ERR_WRONGSEC | | | NFS4ERR_TOO_MANY_OPS, NFS4ERR_WRONGSEC |
| READ | NFS4ERR_ACCESS, NFS4ERR_ADMIN_REVOKED, | | READ | NFS4ERR_ACCESS, NFS4ERR_ADMIN_REVOKED, |
| | NFS4ERR_BADHANDLE, NFS4ERR_BAD_STATEID, | | | NFS4ERR_BADXDR, NFS4ERR_BAD_STATEID, |
| | NFS4ERR_BADXDR, NFS4ERR_DELAY, | | | NFS4ERR_DEADSESSION, NFS4ERR_DELAY, |
| | NFS4ERR_EXPIRED, NFS4ERR_FHEXPIRED, | | | NFS4ERR_DELEG_REVOKED, NFS4ERR_EXPIRED, |
| | NFS4ERR_GRACE, NFS4ERR_IO, NFS4ERR_INVAL, | | | NFS4ERR_FHEXPIRED, NFS4ERR_GRACE, |
| | NFS4ERR_ISDIR, NFS4ERR_LEASE_MOVED, | | | NFS4ERR_INVAL, NFS4ERR_ISDIR, NFS4ERR_IO, |
| | NFS4ERR_LOCKED, NFS4ERR_MOVED, | | | NFS4ERR_LOCKED, NFS4ERR_MOVED, |
| | NFS4ERR_NOFILEHANDLE, NFS4ERR_NXIO, | | | NFS4ERR_NOFILEHANDLE, NFS4ERR_OLD_STATEID, |
| | NFS4ERR_OPENMODE, |
| | NFS4ERR_OP_NOT_IN_SESSION, | | | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_OPENMODE, NFS4ERR_PNFS_IO_HOLE, | | | NFS4ERR_PNFS_IO_HOLE, |
| | NFS4ERR_PNFS_NO_LAYOUT, | | | NFS4ERR_PNFS_NO_LAYOUT, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_REP_TOO_BIG, | | | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_UNSAFE_COMPOUND, | | | NFS4ERR_REQ_TOO_BIG, NFS4ERR_SERVERFAULT, |
| | NFS4ERR_SERVERFAULT, NFS4ERR_STALE, | | | NFS4ERR_STALE, NFS4ERR_SYMLINK, |
| | NFS4ERR_STALE_STATEID | | | NFS4ERR_TOO_MANY_OPS, NFS4ERR_WRONG_TYPE |
| READDIR | NFS4ERR_ACCESS, NFS4ERR_BADHANDLE, | | READDIR | NFS4ERR_ACCESS, NFS4ERR_BADXDR, |
| | NFS4ERR_BAD_COOKIE, NFS4ERR_BADXDR, | | | NFS4ERR_BAD_COOKIE, NFS4ERR_DEADSESSION, |
| | NFS4ERR_DELAY, NFS4ERR_FHEXPIRED, | | | NFS4ERR_DELAY, NFS4ERR_FHEXPIRED, |
| | NFS4ERR_INVAL, NFS4ERR_IO, NFS4ERR_MOVED, | | | NFS4ERR_INVAL, NFS4ERR_IO, NFS4ERR_MOVED, |
| | NFS4ERR_NOFILEHANDLE, NFS4ERR_NOTDIR, | | | NFS4ERR_NOFILEHANDLE, NFS4ERR_NOTDIR, |
| | NFS4ERR_NOT_SAME, | | | NFS4ERR_NOT_SAME, |
| | NFS4ERR_OP_NOT_IN_SESSION, | | | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_REP_TOO_BIG, | | | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_UNSAFE_COMPOUND, | | | NFS4ERR_REQ_TOO_BIG, NFS4ERR_SERVERFAULT, |
| | NFS4ERR_SERVERFAULT, NFS4ERR_STALE, | | | NFS4ERR_STALE, NFS4ERR_TOOSMALL, |
| | NFS4ERR_TOOSMALL | | | NFS4ERR_TOO_MANY_OPS |
| READLINK | NFS4ERR_ACCESS, NFS4ERR_BADHANDLE, | | READLINK | NFS4ERR_ACCESS, NFS4ERR_DEADSESSION, |
| | NFS4ERR_DELAY, NFS4ERR_FHEXPIRED, | | | NFS4ERR_DELAY, NFS4ERR_FHEXPIRED, |
| | NFS4ERR_INVAL, NFS4ERR_IO, NFS4ERR_ISDIR, | | | NFS4ERR_INVAL, NFS4ERR_IO, NFS4ERR_ISDIR, |
| | NFS4ERR_MOVED, NFS4ERR_NOFILEHANDLE, | | | NFS4ERR_MOVED, NFS4ERR_NOFILEHANDLE, |
| | NFS4ERR_NOTSUPP, |
| | NFS4ERR_OP_NOT_IN_SESSION, | | | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_REP_TOO_BIG, | | | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_UNSAFE_COMPOUND, | | | NFS4ERR_REQ_TOO_BIG, NFS4ERR_SERVERFAULT, |
| | NFS4ERR_SERVERFAULT, NFS4ERR_STALE | | | NFS4ERR_STALE, NFS4ERR_TOO_MANY_OPS, |
| RECLAIM_COMPLETE | NFS4ERR_COMPLETE_ALREADY | | | NFS4ERR_WRONG_TYPE |
| RELEASE_LOCKOWNER | NFS4ERR_ADMIN_REVOKED, NFS4ERR_BADXDR, | | RECLAIM_COMPLETE | NFS4ERR_BADXDR, NFS4ERR_COMPLETE_ALREADY, |
| | NFS4ERR_EXPIRED, NFS4ERR_LEASE_MOVED, | | | NFS4ERR_DEADSESSION, NFS4ERR_DELAY, |
| | NFS4ERR_LOCKS_HELD, | | | NFS4ERR_FHEXPIRED, NFS4ERR_INVAL, |
| | NFS4ERR_MOVED, NFS4ERR_NOFILEHANDLE, |
| | NFS4ERR_OP_NOT_IN_SESSION, | | | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_REP_TOO_BIG, | | | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_UNSAFE_COMPOUND, | | | NFS4ERR_REQ_TOO_BIG, NFS4ERR_SERVERFAULT, |
| | NFS4ERR_SERVERFAULT, | | | NFS4ERR_STALE, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_STALE_CLIENTID | | | NFS4ERR_WRONG_CRED, NFS4ERR_WRONG_TYPE |
| RELEASE_LOCKOWNER | NFS4ERR_NOTSUPP |
| REMOVE | NFS4ERR_ACCESS, NFS4ERR_BADCHAR, | | REMOVE | NFS4ERR_ACCESS, NFS4ERR_BADCHAR, |
| | NFS4ERR_BADHANDLE, NFS4ERR_BADNAME, | | | NFS4ERR_BADNAME, NFS4ERR_BADXDR, |
| | NFS4ERR_BADXDR, NFS4ERR_DELAY, | | | NFS4ERR_DEADSESSION, NFS4ERR_DELAY, |
| | NFS4ERR_FHEXPIRED, NFS4ERR_FILE_OPEN, | | | NFS4ERR_FHEXPIRED, NFS4ERR_FILE_OPEN, |
| | NFS4ERR_INVAL, NFS4ERR_IO, NFS4ERR_MOVED, | | | NFS4ERR_GRACE, NFS4ERR_INVAL, NFS4ERR_IO, |
| | NFS4ERR_NAMETOOLONG, NFS4ERR_NOENT, | | | NFS4ERR_MOVED, NFS4ERR_NAMETOOLONG, |
| | NFS4ERR_NOFILEHANDLE, NFS4ERR_NOTDIR, | | | NFS4ERR_NOENT, NFS4ERR_NOFILEHANDLE, |
| | NFS4ERR_NOTEMPTY, | | | NFS4ERR_NOTDIR, NFS4ERR_NOTEMPTY, |
| | NFS4ERR_OP_NOT_IN_SESSION, | | | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_REP_TOO_BIG, | | | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_UNSAFE_COMPOUND, NFS4ERR_ROFS, | | | NFS4ERR_REQ_TOO_BIG, NFS4ERR_ROFS, |
| | NFS4ERR_SERVERFAULT, NFS4ERR_STALE | | | NFS4ERR_SERVERFAULT, NFS4ERR_STALE, |
| | NFS4ERR_TOO_MANY_OPS |
| RENAME | NFS4ERR_ACCESS, NFS4ERR_BADCHAR, | | RENAME | NFS4ERR_ACCESS, NFS4ERR_BADCHAR, |
| | NFS4ERR_BADHANDLE, NFS4ERR_BADNAME, | | | NFS4ERR_BADNAME, NFS4ERR_BADXDR, |
| | NFS4ERR_BADXDR, NFS4ERR_DELAY, | | | NFS4ERR_DEADSESSION, NFS4ERR_DELAY, |
| | NFS4ERR_DQUOT, NFS4ERR_EXIST, | | | NFS4ERR_DQUOT, NFS4ERR_EXIST, |
| | NFS4ERR_FHEXPIRED, NFS4ERR_FILE_OPEN, | | | NFS4ERR_FHEXPIRED, NFS4ERR_FILE_OPEN, |
| | NFS4ERR_INVAL, NFS4ERR_IO, NFS4ERR_MOVED, | | | NFS4ERR_GRACE, NFS4ERR_INVAL, NFS4ERR_IO, |
| | NFS4ERR_NAMETOOLONG, NFS4ERR_NOENT, | | | NFS4ERR_MOVED, NFS4ERR_NAMETOOLONG, |
| | NFS4ERR_NOFILEHANDLE, NFS4ERR_NOSPC, | | | NFS4ERR_NOENT, NFS4ERR_NOFILEHANDLE, |
| | NFS4ERR_NOTDIR, NFS4ERR_NOTEMPTY, | | | NFS4ERR_NOSPC, NFS4ERR_NOTDIR, |
| | NFS4ERR_NOTEMPTY, |
| | NFS4ERR_OP_NOT_IN_SESSION, | | | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_REP_TOO_BIG, | | | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_UNSAFE_COMPOUND, NFS4ERR_ROFS, | | | NFS4ERR_REQ_TOO_BIG, NFS4ERR_ROFS, |
| | NFS4ERR_SERVERFAULT, NFS4ERR_STALE, | | | NFS4ERR_SERVERFAULT, NFS4ERR_STALE, |
| | NFS4ERR_WRONGSEC, NFS4ERR_XDEV | | | NFS4ERR_TOO_MANY_OPS, NFS4ERR_XDEV |
| RESTOREFH | NFS4ERR_BADHANDLE, NFS4ERR_FHEXPIRED, | | RESTOREFH | NFS4ERR_DEADSESSION, NFS4ERR_FHEXPIRED, |
| | NFS4ERR_MOVED, NFS4ERR_OP_NOT_IN_SESSION, | | | NFS4ERR_MOVED, NFS4ERR_NOFILEHANDLE, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_TOO_MANY_OPS, | | | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REP_TOO_BIG, | | | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_UNSAFE_COMPOUND, | | | NFS4ERR_REQ_TOO_BIG, NFS4ERR_SERVERFAULT, |
| | NFS4ERR_RESTOREFH, NFS4ERR_SERVERFAULT, | | | NFS4ERR_STALE, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_STALE, NFS4ERR_WRONGSEC | | | NFS4ERR_WRONGSEC |
| SAVEFH | NFS4ERR_BADHANDLE, NFS4ERR_FHEXPIRED, | | SAVEFH | NFS4ERR_DEADSESSION, NFS4ERR_FHEXPIRED, |
| | NFS4ERR_MOVED, NFS4ERR_NOFILEHANDLE, | | | NFS4ERR_MOVED, NFS4ERR_NOFILEHANDLE, |
| | NFS4ERR_OP_NOT_IN_SESSION, | | | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_REP_TOO_BIG, | | | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_UNSAFE_COMPOUND, | | | NFS4ERR_REQ_TOO_BIG, NFS4ERR_SERVERFAULT, |
| | NFS4ERR_SERVERFAULT, NFS4ERR_STALE | | | NFS4ERR_STALE, NFS4ERR_TOO_MANY_OPS |
| SECINFO | NFS4ERR_ACCESS, NFS4ERR_BADCHAR, | | SECINFO | NFS4ERR_ACCESS, NFS4ERR_BADCHAR, |
| | NFS4ERR_BADHANDLE, NFS4ERR_BADNAME, | | | NFS4ERR_BADNAME, NFS4ERR_BADXDR, |
| | NFS4ERR_BADXDR, NFS4ERR_FHEXPIRED, | | | NFS4ERR_DEADSESSION, NFS4ERR_DELAY, |
| | NFS4ERR_INVAL, NFS4ERR_MOVED, | | | NFS4ERR_FHEXPIRED, NFS4ERR_INVAL, |
| | NFS4ERR_NAMETOOLONG, NFS4ERR_NOENT, | | | NFS4ERR_MOVED, NFS4ERR_NAMETOOLONG, |
| | NFS4ERR_NOFILEHANDLE, NFS4ERR_NOTDIR, | | | NFS4ERR_NOENT, NFS4ERR_NOFILEHANDLE, |
| | NFS4ERR_OP_NOT_IN_SESSION, | | | NFS4ERR_NOTDIR, NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_REP_TOO_BIG, | | | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_UNSAFE_COMPOUND, | | | NFS4ERR_REQ_TOO_BIG, NFS4ERR_SERVERFAULT, |
| | NFS4ERR_SERVERFAULT, NFS4ERR_STALE | | | NFS4ERR_STALE, NFS4ERR_TOO_MANY_OPS |
| SECINFO_NO_NAME | NFS4ERR_ACCESS, NFS4ERR_BADCHAR, | | SECINFO_NO_NAME | NFS4ERR_ACCESS, NFS4ERR_BADXDR, |
| | NFS4ERR_BADHANDLE, NFS4ERR_BADNAME, | | | NFS4ERR_DEADSESSION, NFS4ERR_DELAY, |
| | NFS4ERR_BADXDR, NFS4ERR_FHEXPIRED, | | | NFS4ERR_FHEXPIRED, NFS4ERR_INVAL, |
| | NFS4ERR_INVAL, NFS4ERR_MOVED, | | | NFS4ERR_MOVED, NFS4ERR_NOENT, |
| | NFS4ERR_NAMETOOLONG, NFS4ERR_NOENT, |
| | NFS4ERR_NOFILEHANDLE, NFS4ERR_NOTDIR, | | | NFS4ERR_NOFILEHANDLE, NFS4ERR_NOTDIR, |
| | NFS4ERR_NOTSUPP, |
| | NFS4ERR_OP_NOT_IN_SESSION, | | | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_REP_TOO_BIG, | | | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_UNSAFE_COMPOUND, | | | NFS4ERR_REQ_TOO_BIG, NFS4ERR_SERVERFAULT, |
| | NFS4ERR_SERVERFAULT, NFS4ERR_STALE | | | NFS4ERR_STALE, NFS4ERR_TOO_MANY_OPS |
| SEQUENCE | NFS4ERR_BADSESSION, NFS4ERR_BADSLOT, | | SEQUENCE | NFS4ERR_BADSESSION, NFS4ERR_BADSLOT, |
| | NFS4ERR_BAD_HIGH_SLOT, | | | NFS4ERR_BADXDR, NFS4ERR_BAD_HIGH_SLOT, |
| | NFS4ERR_CONN_NOT_BOUND_TO_SESSION, | | | NFS4ERR_CONN_NOT_BOUND_TO_SESSION, |
| | NFS4ERR_DEADSESSION, | | | NFS4ERR_DEADSESSION, NFS4ERR_DELAY, |
| | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_REQ_TOO_BIG, |
| | NFS4ERR_RETRY_UNCACHED_REP, |
| | NFS4ERR_SEQUENCE_POS, |
| | NFS4ERR_SEQ_FALSE_RETRY, | | | NFS4ERR_SEQ_FALSE_RETRY, |
| | NFS4ERR_SEQ_MISORDERED, | | | NFS4ERR_SEQ_MISORDERED, |
| | NFS4ERR_SEQUENCE_POS, NFS4ERR_REQ_TOO_BIG, | | | NFS4ERR_TOO_MANY_OPS |
| | NFS4ERR_TOO_MANY_OPS, NFS4ERR_REP_TOO_BIG, | | SET_SSV | NFS4ERR_BADXDR, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE | | | NFS4ERR_BAD_SESSION_DIGEST, |
| SET_SSV | NFS4ERR_BAD_SESSION_DIGEST, | | | NFS4ERR_CONN_BINDING_NOT_ENFORCED, |
| | NFS4ERR_CONN_BINDING_NOT_ENFORCED | | | NFS4ERR_DEADSESSION, NFS4ERR_DELAY, |
| | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_TOO_MANY_OPS |
| SETATTR | NFS4ERR_ACCESS, NFS4ERR_ADMIN_REVOKED, | | SETATTR | NFS4ERR_ACCESS, NFS4ERR_ADMIN_REVOKED, |
| | NFS4ERR_ATTRNOTSUPP, NFS4ERR_BADCHAR, | | | NFS4ERR_ATTRNOTSUPP, NFS4ERR_BADCHAR, |
| | NFS4ERR_BADHANDLE, NFS4ERR_BADOWNER, | | | NFS4ERR_BADOWNER, NFS4ERR_BADXDR, |
| | NFS4ERR_BAD_STATEID, NFS4ERR_BADXDR, | | | NFS4ERR_BAD_STATEID, NFS4ERR_DEADSESSION, |
| | NFS4ERR_DELAY, NFS4ERR_DQUOT, | | | NFS4ERR_DELAY, NFS4ERR_DELEG_REVOKED, |
| | NFS4ERR_EXPIRED, NFS4ERR_FBIG, | | | NFS4ERR_DQUOT, NFS4ERR_EXPIRED, |
| | NFS4ERR_FHEXPIRED, NFS4ERR_GRACE, | | | NFS4ERR_FBIG, NFS4ERR_FHEXPIRED, |
| | NFS4ERR_INVAL, NFS4ERR_IO, NFS4ERR_ISDIR, | | | NFS4ERR_GRACE, NFS4ERR_INVAL, NFS4ERR_IO, |
| | NFS4ERR_LOCKED, NFS4ERR_MOVED, | | | NFS4ERR_LOCKED, NFS4ERR_MOVED, |
| | NFS4ERR_NOFILEHANDLE, NFS4ERR_NOSPC, | | | NFS4ERR_NOFILEHANDLE, NFS4ERR_NOSPC, |
| | NFS4ERR_OPENMODE, NFS4ERR_PERM, | | | NFS4ERR_OLD_STATEID, NFS4ERR_OPENMODE, |
| | NFS4ERR_OP_NOT_IN_SESSION, | | | NFS4ERR_OP_NOT_IN_SESSION, NFS4ERR_PERM, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_REP_TOO_BIG, | | | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_UNSAFE_COMPOUND, NFS4ERR_ROFS, | | | NFS4ERR_REQ_TOO_BIG, NFS4ERR_ROFS, |
| | NFS4ERR_SERVERFAULT, NFS4ERR_STALE, | | | NFS4ERR_SERVERFAULT, NFS4ERR_STALE, |
| | NFS4ERR_STALE_STATEID | | | NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_UNKNOWN_LAYOUTTYPE, |
| | NFS4ERR_WRONG_TYPE |
| SETCLIENTID | NFS4ERR_NOTSUPP |
| SETCLIENTID_CONFIRM | NFS4ERR_NOTSUPP |
| TEST_STATEID | NFS4ERR_BADXDR, NFS4ERR_DEADSESSION, |
| | NFS4ERR_DELAY, NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_SERVERFAULT, |
| | NFS4ERR_TOO_MANY_OPS |
| VERIFY | NFS4ERR_ACCESS, NFS4ERR_ATTRNOTSUPP, | | VERIFY | NFS4ERR_ACCESS, NFS4ERR_ATTRNOTSUPP, |
| | NFS4ERR_BADCHAR, NFS4ERR_BADHANDLE, | | | NFS4ERR_BADCHAR, NFS4ERR_BADXDR, |
| | NFS4ERR_BADXDR, NFS4ERR_DELAY, | | | NFS4ERR_DEADSESSION, NFS4ERR_DELAY, |
| | NFS4ERR_FHEXPIRED, NFS4ERR_INVAL, | | | NFS4ERR_FHEXPIRED, NFS4ERR_GRACE, |
| | NFS4ERR_MOVED, NFS4ERR_NOFILEHANDLE, | | | NFS4ERR_INVAL, NFS4ERR_IO, NFS4ERR_MOVED, |
| | NFS4ERR_NOT_SAME, | | | NFS4ERR_NOFILEHANDLE, NFS4ERR_NOT_SAME, |
| | NFS4ERR_OP_NOT_IN_SESSION, | | | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_REP_TOO_BIG, | | | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_UNSAFE_COMPOUND, | | | NFS4ERR_REQ_TOO_BIG, NFS4ERR_SERVERFAULT, |
| | NFS4ERR_SERVERFAULT, NFS4ERR_STALE | | | NFS4ERR_STALE, NFS4ERR_TOO_MANY_OPS, |
| WANT_DELEGATION | | | | NFS4ERR_UNKNOWN_LAYOUTTYPE, |
| | NFS4ERR_WRONG_TYPE |
| WANT_DELEGATION | NFS4ERR_BADXDR, NFS4ERR_DEADSESSION, |
| | NFS4ERR_DELAY, |
| | NFS4ERR_DELEG_ALREADY_WANTED, |
| | NFS4ERR_FHEXPIRED, NFS4ERR_GRACE, |
| | NFS4ERR_INVAL, NFS4ERR_IO, NFS4ERR_MOVED, |
| | NFS4ERR_NOFILEHANDLE, NFS4ERR_NOTSUPP, |
| | NFS4ERR_NO_GRACE, |
| | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_RECALLCONFLICT, |
| | NFS4ERR_RECLAIM_BAD, |
| | NFS4ERR_RECLAIM_CONFLICT, |
| | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_SERVERFAULT, |
| | NFS4ERR_STALE, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_WRONG_TYPE |
| WRITE | NFS4ERR_ACCESS, NFS4ERR_ADMIN_REVOKED, | | WRITE | NFS4ERR_ACCESS, NFS4ERR_ADMIN_REVOKED, |
| | NFS4ERR_BADHANDLE, NFS4ERR_BAD_STATEID, | | | NFS4ERR_BADXDR, NFS4ERR_BAD_STATEID, |
| | NFS4ERR_BADXDR, NFS4ERR_DELAY, | | | NFS4ERR_DEADSESSION, NFS4ERR_DELAY, |
| | NFS4ERR_DQUOT, NFS4ERR_EXPIRED, | | | NFS4ERR_DELEG_REVOKED, NFS4ERR_DQUOT, |
| | NFS4ERR_FBIG, NFS4ERR_FHEXPIRED, | | | NFS4ERR_EXPIRED, NFS4ERR_FBIG, |
| | NFS4ERR_GRACE, NFS4ERR_INVAL, NFS4ERR_IO, | | | NFS4ERR_FHEXPIRED, NFS4ERR_GRACE, |
| | NFS4ERR_ISDIR, NFS4ERR_LEASE_MOVED, | | | NFS4ERR_INVAL, NFS4ERR_IO, NFS4ERR_ISDIR, |
| | NFS4ERR_LOCKED, NFS4ERR_MOVED, | | | NFS4ERR_LOCKED, NFS4ERR_MOVED, |
| | NFS4ERR_NOFILEHANDLE, NFS4ERR_NOSPC, | | | NFS4ERR_NOFILEHANDLE, NFS4ERR_NOSPC, |
| | NFS4ERR_NXIO, NFS4ERR_OP_NOT_IN_SESSION, | | | NFS4ERR_OLD_STATEID, NFS4ERR_OPENMODE, |
| | NFS4ERR_OPENMODE, NFS4ERR_PNFS_IO_HOLE, | | | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_PNFS_IO_HOLE, |
| | NFS4ERR_PNFS_NO_LAYOUT, | | | NFS4ERR_PNFS_NO_LAYOUT, |
| | NFS4ERR_REQ_TOO_BIG, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_REP_TOO_BIG, | | | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_UNSAFE_COMPOUND, NFS4ERR_ROFS, | | | NFS4ERR_REQ_TOO_BIG, NFS4ERR_ROFS, |
| | NFS4ERR_SERVERFAULT, NFS4ERR_STALE, | | | NFS4ERR_SERVERFAULT, NFS4ERR_STALE, |
| | NFS4ERR_STALE_STATEID | | | NFS4ERR_SYMLINK, NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_WRONG_TYPE |
+----------------------+--------------------------------------------+ +----------------------+--------------------------------------------+
Table 12 Table 12
15.3. Callback operations and their valid errors 15.3. Callback operations and their valid errors
Mappings of valid error returns for each protocol callback operation Mappings of valid error returns for each protocol callback operation
+-------------------------+-----------------------------------------+ +-------------------------+-----------------------------------------+
| Callback Operation | Errors | | Callback Operation | Errors |
+-------------------------+-----------------------------------------+ +-------------------------+-----------------------------------------+
| CB_GETATTR | NFS4ERR_BADHANDLE NFS4ERR_BADXDR | | CB_GETATTR | NFS4ERR_BADHANDLE, NFS4ERR_BADXDR, |
| | NFS4ERR_DELAY, NFS4ERR_INVAL, |
| | NFS4ERR_OP_NOT_IN_SESSION, | | | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_REQ_TOO_BIG, | | | NFS4ERR_REQ_TOO_BIG, |
| | NFS4ERR_SERVERFAULT, |
| | NFS4ERR_TOO_MANY_OPS, | | | NFS4ERR_TOO_MANY_OPS, |
| CB_ILLEGAL | NFS4ERR_BADXDR, NFS4ERR_OP_ILLEGAL |
| CB_LAYOUTRECALL | NFS4ERR_BADHANDLE, NFS4ERR_BADIOMODE, |
| | NFS4ERR_BADXDR, NFS4ERR_BAD_STATEID, |
| | NFS4ERR_DELAY, NFS4ERR_INVAL, |
| | NFS4ERR_NOMATCHING_LAYOUT, |
| | NFS4ERR_NOTSUPP, |
| | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REP_TOO_BIG, | | | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_UNSAFE_COMPOUND, |
| | NFS4ERR_SERVERFAULT |
| CB_ILLEGAL | NFS4ERR_OP_ILLEGAL |
| CB_LAYOUTRECALL | NFS4ERR_NOMATCHING_LAYOUT |
| CB_NOTIFY | NFS4ERR_BAD_STATEID NFS4ERR_INVAL |
| | NFS4ERR_BADXDR NFS4ERR_SERVERFAULT |
| CB_PUSH_DELEG | |
| CB_RECALL | NFS4ERR_BADHANDLE NFS4ERR_BAD_STATEID |
| | NFS4ERR_BADXDR |
| | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REQ_TOO_BIG, | | | NFS4ERR_REQ_TOO_BIG, |
| | NFS4ERR_TOO_MANY_OPS, | | | NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_UNKNOWN_LAYOUTTYPE, |
| | NFS4ERR_WRONG_TYPE |
| CB_NOTIFY | NFS4ERR_BADHANDLE, NFS4ERR_BADXDR, |
| | NFS4ERR_BAD_STATEID, NFS4ERR_DELAY, |
| | NFS4ERR_INVAL, NFS4ERR_NOTSUPP, |
| | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_REQ_TOO_BIG, |
| | NFS4ERR_SERVERFAULT, |
| | NFS4ERR_TOO_MANY_OPS |
| CB_NOTIFY_LOCK | NFS4ERR_BADHANDLE, NFS4ERR_BADXDR, |
| | NFS4ERR_BAD_STATEID, NFS4ERR_DELAY, |
| | NFS4ERR_NOTSUPP, |
| | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REP_TOO_BIG, | | | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_SERVERFAULT |
| CB_RECALL_ANY | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REQ_TOO_BIG, | | | NFS4ERR_REQ_TOO_BIG, |
| | NFS4ERR_SERVERFAULT, |
| | NFS4ERR_TOO_MANY_OPS |
| CB_PUSH_DELEG | NFS4ERR_BADHANDLE, NFS4ERR_BADXDR, |
| | NFS4ERR_DELAY, NFS4ERR_INVAL, |
| | NFS4ERR_NOTSUPP, |
| | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REJECT_DELEG, |
| | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_REQ_TOO_BIG, |
| | NFS4ERR_SERVERFAULT, |
| | NFS4ERR_TOO_MANY_OPS, | | | NFS4ERR_TOO_MANY_OPS, |
| | NFS4ERR_WRONG_TYPE |
| CB_RECALL | NFS4ERR_BADHANDLE, NFS4ERR_BADXDR, |
| | NFS4ERR_BAD_STATEID, NFS4ERR_DELAY, |
| | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REP_TOO_BIG, | | | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_INVAL | | | NFS4ERR_REQ_TOO_BIG, |
| CB_RECALLABLE_OBJ_AVAIL | | | | NFS4ERR_SERVERFAULT, |
| CB_RECALL_CREDIT | | | | NFS4ERR_TOO_MANY_OPS |
| CB_RECALL_ANY | NFS4ERR_BADXDR, NFS4ERR_DELAY, |
| | NFS4ERR_INVAL, |
| | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_REQ_TOO_BIG, |
| | NFS4ERR_TOO_MANY_OPS |
| CB_RECALLABLE_OBJ_AVAIL | NFS4ERR_BADXDR, NFS4ERR_DELAY, |
| | NFS4ERR_INVAL, NFS4ERR_NOTSUPP, |
| | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_REQ_TOO_BIG, |
| | NFS4ERR_SERVERFAULT, |
| | NFS4ERR_TOO_MANY_OPS |
| CB_RECALL_SLOT | NFS4ERR_BADXDR, NFS4ERR_BAD_HIGH_SLOT, |
| | NFS4ERR_DELAY, |
| | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_REQ_TOO_BIG, |
| | NFS4ERR_TOO_MANY_OPS |
| CB_SEQUENCE | NFS4ERR_BADSESSION, NFS4ERR_BADSLOT, | | CB_SEQUENCE | NFS4ERR_BADSESSION, NFS4ERR_BADSLOT, |
| | NFS4ERR_BAD_HIGH_SLOT, | | | NFS4ERR_BADXDR, NFS4ERR_BAD_HIGH_SLOT, |
| | NFS4ERR_CONN_NOT_BOUND_TO_SESSION, | | | NFS4ERR_CONN_NOT_BOUND_TO_SESSION, |
| | NFS4ERR_DELAY, NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_REQ_TOO_BIG, |
| | NFS4ERR_RETRY_UNCACHED_REP, |
| | NFS4ERR_SEQUENCE_POS, |
| | NFS4ERR_SEQ_FALSE_RETRY, | | | NFS4ERR_SEQ_FALSE_RETRY, |
| | NFS4ERR_SEQ_MISORDERED, | | | NFS4ERR_SEQ_MISORDERED, |
| | NFS4ERR_SEQUENCE_POS, | | | NFS4ERR_TOO_MANY_OPS |
| | NFS4ERR_REQ_TOO_BIG, | | CB_WANTS_CANCELLED | NFS4ERR_BADXDR, NFS4ERR_DELAY, |
| | NFS4ERR_TOO_MANY_OPS, | | | NFS4ERR_NOTSUPP, |
| | NFS4ERR_OP_NOT_IN_SESSION, |
| | NFS4ERR_REP_TOO_BIG, | | | NFS4ERR_REP_TOO_BIG, |
| | NFS4ERR_REP_TOO_BIG_TO_CACHE | | | NFS4ERR_REP_TOO_BIG_TO_CACHE, |
| | NFS4ERR_REQ_TOO_BIG, |
| | NFS4ERR_SERVERFAULT, |
| | NFS4ERR_TOO_MANY_OPS |
+-------------------------+-----------------------------------------+ +-------------------------+-----------------------------------------+
Table 13 Table 13
15.4. Errors and the operations that use them 15.4. Errors and the operations that use them
+-----------------------------------+-------------------------------+ +-----------------------------------+-------------------------------+
| Error | Operations | | Error | Operations |
+-----------------------------------+-------------------------------+ +-----------------------------------+-------------------------------+
| NFS4ERR_ACCESS | ACCESS, COMMIT, CREATE, | | NFS4ERR_ACCESS | ACCESS, COMMIT, CREATE, |
| | GETATTR, GET_DIR_DELEGATION, | | | GETATTR, GET_DIR_DELEGATION, |
| | LAYOUTCOMMIT, LAYOUTGET, |
| | LINK, LOCK, LOCKT, LOCKU, | | | LINK, LOCK, LOCKT, LOCKU, |
| | LOOKUP, LOOKUPP, NVERIFY, | | | LOOKUP, LOOKUPP, NVERIFY, |
| | OPEN, OPENATTR, READ, | | | OPEN, OPENATTR, READ, |
| | READDIR, READLINK, REMOVE, | | | READDIR, READLINK, REMOVE, |
| | RENAME, SECINFO, | | | RENAME, SECINFO, |
| | SECINFO_NO_NAME, SETATTR, | | | SECINFO_NO_NAME, SETATTR, |
| | VERIFY, WRITE | | | VERIFY, WRITE |
| NFS4ERR_ADMIN_REVOKED | CLOSE, DELEGRETURN, LOCK, | | NFS4ERR_ADMIN_REVOKED | CLOSE, DELEGRETURN, |
| | LOCKU, OPEN, OPEN_DOWNGRADE, | | | LAYOUTCOMMIT, LAYOUTGET, |
| | READ, RELEASE_LOCKOWNER, | | | LAYOUTRETURN, LOCK, LOCKU, |
| | OPEN, OPEN_DOWNGRADE, READ, |
| | SETATTR, WRITE | | | SETATTR, WRITE |
| NFS4ERR_ATTRNOTSUPP | CREATE, NVERIFY, OPEN, | | NFS4ERR_ATTRNOTSUPP | CREATE, LAYOUTCOMMIT, |
| | SETATTR, VERIFY | | | NVERIFY, OPEN, SETATTR, |
| NFS4ERR_BACK_CHAN_BUSY | DESTROY_SESSION |
| NFS4ERR_BADCHAR | CREATE, LINK, LOOKUP, |
| | NVERIFY, OPEN, REMOVE, |
| | RENAME, SECINFO, |
| | SECINFO_NO_NAME, SETATTR, |
| | VERIFY | | | VERIFY |
| NFS4ERR_BADHANDLE | ACCESS, CB_GETATTR, | | NFS4ERR_BACK_CHAN_BUSY | DESTROY_SESSION |
| | CB_RECALL, CLOSE, COMMIT, | | NFS4ERR_BADCHAR | CREATE, EXCHANGE_ID, LINK, |
| | CREATE, GETATTR, GETFH, | | | LOOKUP, NVERIFY, OPEN, |
| | GET_DIR_DELEGATION, LINK, |
| | LOCK, LOCKT, LOCKU, LOOKUP, |
| | LOOKUPP, NVERIFY, OPEN, |
| | OPENATTR, OPEN_DOWNGRADE, |
| | PUTFH, READ, READDIR, |
| | READLINK, REMOVE, RENAME, |
| | RESTOREFH, SAVEFH, SECINFO, |
| | SECINFO_NO_NAME, SETATTR, |
| | VERIFY, WRITE |
| NFS4ERR_BADIOMODE | LAYOUTCOMMIT, LAYOUTGET, |
| | LAYOUTRETURN |
| NFS4ERR_BADLAYOUT | LAYOUTCOMMIT, LAYOUTGET, |
| | LAYOUTRETURN |
| NFS4ERR_BADNAME | CREATE, LINK, LOOKUP, OPEN, |
| | REMOVE, RENAME, SECINFO, | | | REMOVE, RENAME, SECINFO, |
| | SECINFO_NO_NAME | | | SETATTR, VERIFY |
| NFS4ERR_BADHANDLE | CB_GETATTR, CB_LAYOUTRECALL, |
| | CB_NOTIFY, CB_NOTIFY_LOCK, |
| | CB_PUSH_DELEG, CB_RECALL, |
| | PUTFH |
| NFS4ERR_BADIOMODE | CB_LAYOUTRECALL, |
| | LAYOUTCOMMIT, LAYOUTGET |
| NFS4ERR_BADLAYOUT | LAYOUTCOMMIT, LAYOUTGET |
| NFS4ERR_BADNAME | CREATE, LINK, LOOKUP, OPEN, |
| | REMOVE, RENAME, SECINFO |
| NFS4ERR_BADOWNER | CREATE, OPEN, SETATTR | | NFS4ERR_BADOWNER | CREATE, OPEN, SETATTR |
| NFS4ERR_BADSESSION | BIND_CONN_TO_SESSION, | | NFS4ERR_BADSESSION | BIND_CONN_TO_SESSION, |
| | CB_SEQUENCE, DESTROY_SESSION, | | | CB_SEQUENCE, DESTROY_SESSION, |
| | SEQUENCE | | | SEQUENCE |
| NFS4ERR_BADSLOT | CB_SEQUENCE, SEQUENCE | | NFS4ERR_BADSLOT | CB_SEQUENCE, SEQUENCE |
| NFS4ERR_BADTYPE | CREATE | | NFS4ERR_BADTYPE | CREATE, LINK |
| NFS4ERR_BADXDR | ACCESS, CB_GETATTR, | | NFS4ERR_BADXDR | ACCESS, BACKCHANNEL_CTL, |
| | CB_NOTIFY, CB_RECALL, CLOSE, | | | BIND_CONN_TO_SESSION, |
| | CB_GETATTR, CB_ILLEGAL, |
| | CB_LAYOUTRECALL, CB_NOTIFY, |
| | 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, | | | COMMIT, CREATE, |
| | CREATE_SESSION, DELEGPURGE, | | | CREATE_SESSION, DELEGPURGE, |
| | DELEGRETURN, EXCHANGE_ID, | | | DELEGRETURN, |
| | GETATTR, GET_DIR_DELEGATION, | | | DESTROY_CLIENTID, |
| | LINK, LOCK, LOCKT, LOCKU, | | | DESTROY_SESSION, EXCHANGE_ID, |
| | LOOKUP, NVERIFY, OPEN, | | | FREE_STATEID, GETATTR, |
| | OPENATTR, OPEN_DOWNGRADE, | | | GETDEVICEINFO, GETDEVICELIST, |
| | PUTFH, READ, READDIR, | | | GET_DIR_DELEGATION, ILLEGAL, |
| | RELEASE_LOCKOWNER, REMOVE, | | | LAYOUTCOMMIT, LAYOUTGET, |
| | RENAME, SECINFO, | | | LAYOUTRETURN, LINK, LOCK, |
| | SECINFO_NO_NAME, SETATTR, | | | LOCKT, LOCKU, LOOKUP, |
| | VERIFY, WRITE | | | NVERIFY, OPEN, OPENATTR, |
| | OPEN_DOWNGRADE, PUTFH, READ, |
| | READDIR, RECLAIM_COMPLETE, |
| | REMOVE, RENAME, SECINFO, |
| | SECINFO_NO_NAME, SEQUENCE, |
| | SETATTR, SET_SSV, |
| | TEST_STATEID, VERIFY, |
| | WANT_DELEGATION, WRITE |
| NFS4ERR_BAD_COOKIE | GETDEVICELIST, READDIR | | NFS4ERR_BAD_COOKIE | GETDEVICELIST, READDIR |
| NFS4ERR_BAD_HIGH_SLOT | CB_SEQUENCE, SEQUENCE | | NFS4ERR_BAD_HIGH_SLOT | CB_RECALL_SLOT, CB_SEQUENCE, |
| | SEQUENCE |
| NFS4ERR_BAD_RANGE | LOCK, LOCKT, LOCKU | | NFS4ERR_BAD_RANGE | LOCK, LOCKT, LOCKU |
| NFS4ERR_BAD_SESSION_DIGEST | BIND_CONN_TO_SESSION, SET_SSV | | NFS4ERR_BAD_SESSION_DIGEST | BIND_CONN_TO_SESSION, SET_SSV |
| NFS4ERR_BAD_STATEID | CB_NOTIFY, CB_RECALL, CLOSE, | | NFS4ERR_BAD_STATEID | CB_LAYOUTRECALL, CB_NOTIFY, |
| | DELEGRETURN, LOCK, LOCKU, | | | CB_NOTIFY_LOCK, CB_RECALL, |
| | OPEN_DOWNGRADE, READ, | | | CLOSE, DELEGRETURN, |
| | FREE_STATEID, LAYOUTGET, |
| | LAYOUTRETURN, LOCK, LOCKU, |
| | OPEN, OPEN_DOWNGRADE, READ, |
| | SETATTR, WRITE | | | SETATTR, WRITE |
| NFS4ERR_CLID_INUSE | CREATE_SESSION, EXCHANGE_ID | | NFS4ERR_CLID_INUSE | CREATE_SESSION, EXCHANGE_ID |
| NFS4ERR_CLIENTID_BUSY | DESTROY_CLIENTID | | NFS4ERR_CLIENTID_BUSY | DESTROY_CLIENTID |
| NFS4ERR_COMPLETE_ALREADY | RECLAIM_COMPLETE | | NFS4ERR_COMPLETE_ALREADY | RECLAIM_COMPLETE |
| NFS4ERR_CONN_BINDING_NOT_ENFORCED | BIND_CONN_TO_SESSION, SET_SSV | | NFS4ERR_CONN_BINDING_NOT_ENFORCED | BIND_CONN_TO_SESSION, SET_SSV |
| NFS4ERR_CONN_NOT_BOUND_TO_SESSION | CB_SEQUENCE, SEQUENCE | | NFS4ERR_CONN_NOT_BOUND_TO_SESSION | CB_SEQUENCE, SEQUENCE |
| NFS4ERR_DEADLOCK | LOCK | | NFS4ERR_DEADLOCK | LOCK |
| NFS4ERR_DEADSESSION | BIND_CONN_TO_SESSION, | | NFS4ERR_DEADSESSION | ACCESS, BACKCHANNEL_CTL, |
| | DESTROY_SESSION, SEQUENCE | | | BIND_CONN_TO_SESSION, CLOSE, |
| NFS4ERR_DELAY | ACCESS, CLOSE, CREATE, | | | COMMIT, CREATE, |
| | CREATE_SESSION, GETATTR, | | | CREATE_SESSION, DELEGPURGE, |
| | LINK, LOCK, LOCKT, NVERIFY, | | | DELEGRETURN, |
| | OPEN, OPENATTR, READ, | | | DESTROY_CLIENTID, |
| | READDIR, READLINK, REMOVE, | | | DESTROY_SESSION, EXCHANGE_ID, |
| | RENAME, SETATTR, VERIFY, | | | FREE_STATEID, GETATTR, |
| | WRITE | | | 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 |
| NFS4ERR_DELAY | ACCESS, BACKCHANNEL_CTL, |
| | BIND_CONN_TO_SESSION, |
| | CB_GETATTR, CB_LAYOUTRECALL, |
| | CB_NOTIFY, 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, SECINFO, |
| | SECINFO_NO_NAME, SEQUENCE, |
| | SETATTR, SET_SSV, |
| | TEST_STATEID, VERIFY, |
| | WANT_DELEGATION, WRITE |
| NFS4ERR_DELEG_ALREADY_WANTED | OPEN, WANT_DELEGATION |
| NFS4ERR_DELEG_REVOKED | DELEGRETURN, LAYOUTGET, |
| | LAYOUTRETURN, OPEN, READ, |
| | SETATTR, WRITE |
| NFS4ERR_DENIED | LOCK, LOCKT | | NFS4ERR_DENIED | LOCK, LOCKT |
| NFS4ERR_DQUOT | CREATE, LINK, OPEN, OPENATTR, | | NFS4ERR_DIRDELEG_UNAVAIL | GET_DIR_DELEGATION |
| | RENAME, SETATTR, WRITE | | NFS4ERR_DQUOT | CREATE, LAYOUTGET, LINK, |
| NFS4ERR_EIO | GET_DIR_DELEGATION | | | OPEN, OPENATTR, RENAME, |
| | SETATTR, WRITE |
| NFS4ERR_ENCR_ALG_UNSUPP | EXCHANGE_ID | | NFS4ERR_ENCR_ALG_UNSUPP | EXCHANGE_ID |
| NFS4ERR_EXIST | CREATE, LINK, OPEN, RENAME | | NFS4ERR_EXIST | CREATE, LINK, OPEN, RENAME |
| NFS4ERR_EXPIRED | CLOSE, DELEGRETURN, LOCK, | | NFS4ERR_EXPIRED | CLOSE, DELEGRETURN, |
| | LOCKU, OPEN, OPEN_DOWNGRADE, | | | LAYOUTCOMMIT, LAYOUTRETURN, |
| | READ, RELEASE_LOCKOWNER, | | | LOCK, LOCKU, OPEN, |
| | OPEN_DOWNGRADE, READ, |
| | SETATTR, WRITE | | | SETATTR, WRITE |
| NFS4ERR_FBIG | SETATTR, WRITE | | NFS4ERR_FBIG | LAYOUTCOMMIT, OPEN, SETATTR, |
| | WRITE |
| NFS4ERR_FHEXPIRED | ACCESS, CLOSE, COMMIT, | | NFS4ERR_FHEXPIRED | ACCESS, CLOSE, COMMIT, |
| | CREATE, GETATTR, | | | CREATE, DELEGRETURN, GETATTR, |
| | GETDEVICEINFO, GETDEVICELIST, |
| | GETFH, GET_DIR_DELEGATION, | | | GETFH, GET_DIR_DELEGATION, |
| | LAYOUTCOMMIT, LAYOUTGET, | | | LAYOUTCOMMIT, LAYOUTGET, |
| | LAYOUTRETURN, LINK, LOCK, | | | LAYOUTRETURN, LINK, LOCK, |
| | LOCKT, LOCKU, LOOKUP, | | | LOCKT, LOCKU, LOOKUP, |
| | LOOKUPP, NVERIFY, OPEN, | | | LOOKUPP, NVERIFY, OPEN, |
| | OPENATTR, OPEN_DOWNGRADE, | | | OPENATTR, OPEN_DOWNGRADE, |
| | PUTFH, READ, READDIR, | | | READ, READDIR, READLINK, |
| | READLINK, REMOVE, RENAME, | | | RECLAIM_COMPLETE, REMOVE, |
| | RESTOREFH, SAVEFH, SECINFO, | | | RENAME, RESTOREFH, SAVEFH, |
| | SECINFO_NO_NAME, SETATTR, | | | SECINFO, SECINFO_NO_NAME, |
| | VERIFY, WRITE | | | SETATTR, VERIFY, |
| | WANT_DELEGATION, WRITE |
| NFS4ERR_FILE_OPEN | LINK, REMOVE, RENAME | | NFS4ERR_FILE_OPEN | LINK, REMOVE, RENAME |
| NFS4ERR_GRACE | LAYOUTGET, LOCK, LOCKT, | | NFS4ERR_GRACE | GETATTR, GET_DIR_DELEGATION, |
| | LOCKU, OPEN, READ, SETATTR, | | | LAYOUTCOMMIT, LAYOUTGET, |
| | LAYOUTRETURN, LINK, LOCK, |
| | LOCKT, NVERIFY, OPEN, READ, |
| | REMOVE, RENAME, SETATTR, |
| | VERIFY, WANT_DELEGATION, |
| | WRITE | | | WRITE |
| NFS4ERR_HASH_ALG_UNSUPP | EXCHANGE_ID | | NFS4ERR_HASH_ALG_UNSUPP | EXCHANGE_ID |
| NFS4ERR_INVAL | ACCESS, CB_NOTIFY, | | NFS4ERR_INVAL | ACCESS, BACKCHANNEL_CTL, |
| | CB_RECALL_ANY, CLOSE, COMMIT, | | | BIND_CONN_TO_SESSION, |
| | CREATE, DELEGRETURN, | | | CB_GETATTR, CB_LAYOUTRECALL, |
| | CB_NOTIFY, CB_PUSH_DELEG, |
| | CB_RECALLABLE_OBJ_AVAIL, |
| | CB_RECALL_ANY, CREATE, |
| | CREATE_SESSION, DELEGRETURN, |
| | EXCHANGE_ID, GETATTR, | | | EXCHANGE_ID, GETATTR, |
| | GETDEVICEINFO, GETDEVICELIST, | | | GETDEVICEINFO, GETDEVICELIST, |
| | GET_DIR_DELEGATION, | | | GET_DIR_DELEGATION, |
| | LAYOUTCOMMIT, LAYOUTGET, | | | LAYOUTGET, LAYOUTRETURN, |
| | LAYOUTRETURN, LINK, LOCK, | | | LINK, LOCK, LOCKT, LOCKU, |
| | LOCKT, LOCKU, LOOKUP, | | | LOOKUP, NVERIFY, OPEN, |
| | NVERIFY, OPEN, |
| | OPEN_DOWNGRADE, READ, | | | OPEN_DOWNGRADE, READ, |
| | READDIR, READLINK, REMOVE, | | | READDIR, READLINK, |
| | RECLAIM_COMPLETE, REMOVE, |
| | RENAME, SECINFO, | | | RENAME, SECINFO, |
| | SECINFO_NO_NAME, SETATTR, | | | SECINFO_NO_NAME, SETATTR, |
| | VERIFY, WRITE | | | VERIFY, WANT_DELEGATION, |
| | WRITE |
| NFS4ERR_IO | ACCESS, COMMIT, CREATE, | | NFS4ERR_IO | ACCESS, COMMIT, CREATE, |
| | GETATTR, LINK, LOOKUP, | | | GETATTR, GET_DIR_DELEGATION, |
| | LOOKUPP, NVERIFY, OPEN, | | | LAYOUTCOMMIT, LAYOUTGET, |
| | OPENATTR, READ, READDIR, | | | LINK, LOOKUP, LOOKUPP, |
| | READLINK, REMOVE, RENAME, | | | NVERIFY, OPEN, OPENATTR, |
| | SETATTR, WRITE | | | READ, READDIR, READLINK, |
| NFS4ERR_ISDIR | CLOSE, COMMIT, LINK, LOCK, | | | REMOVE, RENAME, SETATTR, |
| | LOCKT, LOCKU, OPEN, READ, | | | VERIFY, WANT_DELEGATION, |
| | READLINK, SETATTR, WRITE | | | WRITE |
| NFS4ERR_ISDIR | COMMIT, LAYOUTCOMMIT, |
| | LAYOUTRETURN, LINK, LOCK, |
| | LOCKT, OPEN, READ, READLINK, |
| | WRITE |
| NFS4ERR_LAYOUTTRYLATER | LAYOUTGET | | NFS4ERR_LAYOUTTRYLATER | LAYOUTGET |
| NFS4ERR_LAYOUTUNAVAILABLE | LAYOUTGET | | NFS4ERR_LAYOUTUNAVAILABLE | LAYOUTGET |
| NFS4ERR_LEASE_MOVED | CLOSE, DELEGPURGE, |
| | DELEGRETURN, LOCK, LOCKT, |
| | LOCKU, OPEN, READ, |
| | RELEASE_LOCKOWNER, WRITE |
| NFS4ERR_LOCKED | LAYOUTGET, READ, SETATTR, | | NFS4ERR_LOCKED | LAYOUTGET, READ, SETATTR, |
| | WRITE | | | WRITE |
| NFS4ERR_LOCKS_HELD | CLOSE, RELEASE_LOCKOWNER | | NFS4ERR_LOCKS_HELD | CLOSE, FREE_STATEID |
| NFS4ERR_LOCK_NOTSUPP | LOCK | | NFS4ERR_LOCK_NOTSUPP | LOCK |
| NFS4ERR_LOCK_RANGE | LOCK, LOCKT, LOCKU | | NFS4ERR_LOCK_RANGE | LOCK, LOCKT, LOCKU |
| NFS4ERR_MLINK | LINK | | NFS4ERR_MLINK | CREATE, LINK |
| NFS4ERR_MOVED | ACCESS, CLOSE, COMMIT, | | NFS4ERR_MOVED | ACCESS, CLOSE, COMMIT, |
| | CREATE, DELEGPURGE, | | | CREATE, DELEGRETURN, GETATTR, |
| | DELEGRETURN, GETATTR, GETFH, | | | GETFH, GET_DIR_DELEGATION, |
| | GET_DIR_DELEGATION, LINK, | | | LAYOUTCOMMIT, LAYOUTGET, |
| | LOCK, LOCKT, LOCKU, LOOKUP, | | | LAYOUTRETURN, LINK, LOCK, |
| | LOCKT, LOCKU, LOOKUP, |
| | LOOKUPP, NVERIFY, OPEN, | | | LOOKUPP, NVERIFY, OPEN, |
| | OPENATTR, OPEN_DOWNGRADE, | | | OPENATTR, OPEN_DOWNGRADE, |
| | PUTFH, READ, READDIR, | | | PUTFH, READ, READDIR, |
| | READLINK, REMOVE, RENAME, | | | READLINK, RECLAIM_COMPLETE, |
| | RESTOREFH, SAVEFH, SECINFO, | | | REMOVE, RENAME, RESTOREFH, |
| | SAVEFH, SECINFO, |
| | SECINFO_NO_NAME, SETATTR, | | | SECINFO_NO_NAME, SETATTR, |
| | VERIFY, WRITE | | | VERIFY, WANT_DELEGATION, |
| | WRITE |
| NFS4ERR_NAMETOOLONG | CREATE, LINK, LOOKUP, OPEN, | | NFS4ERR_NAMETOOLONG | CREATE, LINK, LOOKUP, OPEN, |
| | REMOVE, RENAME, SECINFO |
| NFS4ERR_NOENT | BACKCHANNEL_CTL, |
| | CREATE_SESSION, EXCHANGE_ID, |
| | GETDEVICEINFO, LOOKUP, |
| | LOOKUPP, OPEN, OPENATTR, |
| | REMOVE, RENAME, SECINFO, | | | REMOVE, RENAME, SECINFO, |
| | SECINFO_NO_NAME | | | SECINFO_NO_NAME |
| NFS4ERR_NOENT | LINK, LOOKUP, LOOKUPP, OPEN, |
| | OPENATTR, REMOVE, RENAME, |
| | SECINFO, SECINFO_NO_NAME |
| NFS4ERR_NOFILEHANDLE | ACCESS, CLOSE, COMMIT, | | NFS4ERR_NOFILEHANDLE | ACCESS, CLOSE, COMMIT, |
| | CREATE, DELEGRETURN, GETATTR, | | | CREATE, DELEGRETURN, GETATTR, |
| | GETDEVICEINFO, GETDEVICELIST, |
| | GETFH, GET_DIR_DELEGATION, | | | GETFH, GET_DIR_DELEGATION, |
| | LAYOUTCOMMIT, LAYOUTGET, | | | LAYOUTCOMMIT, LAYOUTGET, |
| | LAYOUTRETURN, LINK, LOCK, | | | LAYOUTRETURN, LINK, LOCK, |
| | LOCKT, LOCKU, LOOKUP, | | | LOCKT, LOCKU, LOOKUP, |
| | LOOKUPP, NVERIFY, OPEN, | | | LOOKUPP, NVERIFY, OPEN, |
| | OPENATTR, OPEN_DOWNGRADE, | | | OPENATTR, OPEN_DOWNGRADE, |
| | READ, READDIR, READLINK, | | | READ, READDIR, READLINK, |
| | REMOVE, RENAME, SAVEFH, | | | RECLAIM_COMPLETE, REMOVE, |
| | RENAME, RESTOREFH, SAVEFH, |
| | SECINFO, SECINFO_NO_NAME, | | | SECINFO, SECINFO_NO_NAME, |
| | SETATTR, VERIFY, WRITE | | | SETATTR, VERIFY, |
| | WANT_DELEGATION, WRITE |
| NFS4ERR_NOMATCHING_LAYOUT | CB_LAYOUTRECALL | | NFS4ERR_NOMATCHING_LAYOUT | CB_LAYOUTRECALL |
| NFS4ERR_NOSPC | CREATE, LINK, OPEN, OPENATTR, | | NFS4ERR_NOSPC | CREATE, CREATE_SESSION, |
| | RENAME, SETATTR, WRITE | | | LAYOUTGET, LINK, OPEN, |
| | OPENATTR, RENAME, SETATTR, |
| | WRITE |
| NFS4ERR_NOTDIR | CREATE, GET_DIR_DELEGATION, | | NFS4ERR_NOTDIR | CREATE, GET_DIR_DELEGATION, |
| | LINK, LOOKUP, LOOKUPP, OPEN, | | | LINK, LOOKUP, LOOKUPP, OPEN, |
| | READDIR, REMOVE, RENAME, | | | READDIR, REMOVE, RENAME, |
| | SECINFO, SECINFO_NO_NAME | | | SECINFO, SECINFO_NO_NAME |
| NFS4ERR_NOTEMPTY | REMOVE, RENAME | | NFS4ERR_NOTEMPTY | REMOVE, RENAME |
| NFS4ERR_NOTSUPP | DELEGPURGE, DELEGRETURN, | | NFS4ERR_NOTSUPP | CB_LAYOUTRECALL, CB_NOTIFY, |
| | CB_NOTIFY_LOCK, |
| | CB_PUSH_DELEG, |
| | CB_RECALLABLE_OBJ_AVAIL, |
| | CB_WANTS_CANCELLED, |
| | DELEGPURGE, DELEGRETURN, |
| | GETDEVICEINFO, GETDEVICELIST, |
| | GET_DIR_DELEGATION, | | | GET_DIR_DELEGATION, |
| | LAYOUTGET, LINK, OPENATTR, | | | LAYOUTCOMMIT, LAYOUTGET, |
| | READLINK | | | LAYOUTRETURN, LINK, OPENATTR, |
| NFS4ERR_NOT_SAME | READDIR, VERIFY | | | OPEN_CONFIRM, |
| | RELEASE_LOCKOWNER, |
| | SECINFO_NO_NAME, SETCLIENTID, |
| | SETCLIENTID_CONFIRM, |
| | WANT_DELEGATION |
| NFS4ERR_NOT_ONLY_OP | BIND_CONN_TO_SESSION, |
| | DESTROY_CLIENTID, |
| | DESTROY_SESSION |
| NFS4ERR_NOT_SAME | EXCHANGE_ID, READDIR, VERIFY |
| NFS4ERR_NO_GRACE | LAYOUTCOMMIT, LAYOUTRETURN, | | NFS4ERR_NO_GRACE | LAYOUTCOMMIT, LAYOUTRETURN, |
| | LOCK, OPEN | | | LOCK, OPEN, WANT_DELEGATION |
| NFS4ERR_NXIO | READ, WRITE | | NFS4ERR_OLD_STATEID | CLOSE, DELEGRETURN, |
| NFS4ERR_OPENMODE | LOCK, READ, SETATTR, WRITE | | | FREE_STATEID, LAYOUTGET, |
| | LAYOUTRETURN, LOCK, LOCKU, |
| | OPEN, OPEN_DOWNGRADE, READ, |
| | SETATTR, WRITE |
| NFS4ERR_OPENMODE | LAYOUTGET, LOCK, READ, |
| | SETATTR, WRITE |
| NFS4ERR_OP_ILLEGAL | CB_ILLEGAL, ILLEGAL | | NFS4ERR_OP_ILLEGAL | CB_ILLEGAL, ILLEGAL |
| NFS4ERR_OP_NOT_IN_SESSION | ACCESS, CB_GETATTR, | | NFS4ERR_OP_NOT_IN_SESSION | ACCESS, CB_GETATTR, |
| | CB_RECALL, CB_RECALL_ANY, | | | CB_LAYOUTRECALL, CB_NOTIFY, |
| | CLOSE, COMMIT, CREATE, | | | CB_NOTIFY_LOCK, |
| | DELEGPURGE, DELEGRETURN, | | | CB_PUSH_DELEG, CB_RECALL, |
| | GETATTR, GETFH, | | | CB_RECALLABLE_OBJ_AVAIL, |
| | GET_DIR_DELEGATION, LINK, | | | CB_RECALL_ANY, |
| | LOCK, LOCKT, LOCKU, LOOKUP, | | | CB_RECALL_SLOT, |
| | CB_WANTS_CANCELLED, CLOSE, |
| | COMMIT, CREATE, DELEGPURGE, |
| | DELEGRETURN, FREE_STATEID, |
| | GETATTR, GETDEVICEINFO, |
| | GETDEVICELIST, GETFH, |
| | GET_DIR_DELEGATION, |
| | LAYOUTCOMMIT, LAYOUTGET, |
| | LAYOUTRETURN, LINK, LOCK, |
| | LOCKT, LOCKU, LOOKUP, |
| | LOOKUPP, NVERIFY, OPEN, | | | LOOKUPP, NVERIFY, OPEN, |
| | OPENATTR, OPEN_DOWNGRADE, | | | OPENATTR, OPEN_DOWNGRADE, |
| | PUTFH, PUTPUBFH, PUTROOTFH, | | | PUTFH, PUTPUBFH, PUTROOTFH, |
| | READ, READDIR, READLINK, | | | READ, READDIR, READLINK, |
| | RELEASE_LOCKOWNER, REMOVE, | | | RECLAIM_COMPLETE, REMOVE, |
| | RENAME, RESTOREFH, SAVEFH, | | | RENAME, RESTOREFH, SAVEFH, |
| | SECINFO, SECINFO_NO_NAME, | | | SECINFO, SECINFO_NO_NAME, |
| | SETATTR, VERIFY, WRITE | | | SETATTR, SET_SSV, |
| | TEST_STATEID, VERIFY, |
| | WANT_DELEGATION, WRITE |
| NFS4ERR_PERM | CREATE, OPEN, SETATTR | | NFS4ERR_PERM | CREATE, OPEN, SETATTR |
| NFS4ERR_PNFS_IO_HOLE | READ, WRITE | | NFS4ERR_PNFS_IO_HOLE | READ, WRITE |
| NFS4ERR_PNFS_NO_LAYOUT | READ, WRITE | | NFS4ERR_PNFS_NO_LAYOUT | READ, WRITE |
| NFS4ERR_RECALLCONFLICT | LAYOUTGET | | NFS4ERR_RECALLCONFLICT | GETDEVICEINFO, GETDEVICELIST, |
| NFS4ERR_RECLAIM_BAD | LAYOUTCOMMIT, LOCK, OPEN | | | LAYOUTGET, WANT_DELEGATION |
| NFS4ERR_RECLAIM_CONFLICT | LOCK, OPEN | | NFS4ERR_RECLAIM_BAD | LAYOUTCOMMIT, LOCK, OPEN, |
| NFS4ERR_REP_TOO_BIG | ACCESS, CB_GETATTR, | | | WANT_DELEGATION |
| | CB_RECALL, CB_RECALL_ANY, | | NFS4ERR_RECLAIM_CONFLICT | LAYOUTCOMMIT, LOCK, OPEN, |
| | CB_SEQUENCE, CLOSE, COMMIT, | | | WANT_DELEGATION |
| | CREATE, DELEGPURGE, | | NFS4ERR_REJECT_DELEG | CB_PUSH_DELEG |
| | DELEGRETURN, GETATTR, GETFH, | | NFS4ERR_REP_TOO_BIG | ACCESS, BACKCHANNEL_CTL, |
| | GET_DIR_DELEGATION, LINK, | | | BIND_CONN_TO_SESSION, |
| | LOCK, LOCKT, LOCKU, LOOKUP, | | | CB_GETATTR, CB_LAYOUTRECALL, |
| | CB_NOTIFY, 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, | | | LOOKUPP, NVERIFY, OPEN, |
| | OPENATTR, OPEN_DOWNGRADE, | | | OPENATTR, OPEN_DOWNGRADE, |
| | PUTFH, PUTPUBFH, PUTROOTFH, | | | PUTFH, PUTPUBFH, PUTROOTFH, |
| | READ, READDIR, READLINK, | | | READ, READDIR, READLINK, |
| | RELEASE_LOCKOWNER, REMOVE, | | | RECLAIM_COMPLETE, REMOVE, |
| | RENAME, RESTOREFH, SAVEFH, | | | RENAME, RESTOREFH, SAVEFH, |
| | SECINFO, SECINFO_NO_NAME, | | | SECINFO, SECINFO_NO_NAME, |
| | SEQUENCE, SETATTR, VERIFY, | | | SEQUENCE, SETATTR, SET_SSV, |
| | WRITE | | | TEST_STATEID, VERIFY, |
| NFS4ERR_REP_TOO_BIG_TO_CACHE | ACCESS, CB_GETATTR, | | | WANT_DELEGATION, WRITE |
| | CB_RECALL, CB_RECALL_ANY, | | NFS4ERR_REP_TOO_BIG_TO_CACHE | ACCESS, BACKCHANNEL_CTL, |
| | CB_SEQUENCE, CLOSE, COMMIT, | | | BIND_CONN_TO_SESSION, |
| | CREATE, DELEGPURGE, | | | CB_GETATTR, CB_LAYOUTRECALL, |
| | DELEGRETURN, GETATTR, GETFH, | | | CB_NOTIFY, CB_NOTIFY_LOCK, |
| | GET_DIR_DELEGATION, LINK, | | | CB_PUSH_DELEG, CB_RECALL, |
| | LOCK, LOCKT, LOCKU, LOOKUP, | | | 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, | | | LOOKUPP, NVERIFY, OPEN, |
| | OPENATTR, OPEN_DOWNGRADE, | | | OPENATTR, OPEN_DOWNGRADE, |
| | PUTFH, PUTPUBFH, PUTROOTFH, | | | PUTFH, PUTPUBFH, PUTROOTFH, |
| | READ, READDIR, READLINK, | | | READ, READDIR, READLINK, |
| | RELEASE_LOCKOWNER, REMOVE, | | | RECLAIM_COMPLETE, REMOVE, |
| | RENAME, RESTOREFH, SAVEFH, | | | RENAME, RESTOREFH, SAVEFH, |
| | SECINFO, SECINFO_NO_NAME, | | | SECINFO, SECINFO_NO_NAME, |
| | SEQUENCE, SETATTR, VERIFY, | | | SEQUENCE, SETATTR, SET_SSV, |
| | WRITE | | | TEST_STATEID, VERIFY, |
| NFS4ERR_REQ_TOO_BIG | ACCESS, CB_GETATTR, | | | WANT_DELEGATION, WRITE |
| | CB_RECALL, CB_RECALL_ANY, | | NFS4ERR_REQ_TOO_BIG | ACCESS, BACKCHANNEL_CTL, |
| | CB_SEQUENCE, CLOSE, COMMIT, | | | BIND_CONN_TO_SESSION, |
| | CREATE, DELEGPURGE, | | | CB_GETATTR, CB_LAYOUTRECALL, |
| | DELEGRETURN, GETATTR, GETFH, | | | CB_NOTIFY, CB_NOTIFY_LOCK, |
| | GET_DIR_DELEGATION, LINK, | | | CB_PUSH_DELEG, CB_RECALL, |
| | LOCK, LOCKT, LOCKU, LOOKUP, | | | 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, | | | LOOKUPP, NVERIFY, OPEN, |
| | OPENATTR, OPEN_DOWNGRADE, | | | OPENATTR, OPEN_DOWNGRADE, |
| | PUTFH, PUTPUBFH, PUTROOTFH, | | | PUTFH, PUTPUBFH, PUTROOTFH, |
| | READ, READDIR, READLINK, | | | READ, READDIR, READLINK, |
| | RELEASE_LOCKOWNER, REMOVE, | | | RECLAIM_COMPLETE, REMOVE, |
| | RENAME, RESTOREFH, SAVEFH, | | | RENAME, RESTOREFH, SAVEFH, |
| | SECINFO, SECINFO_NO_NAME, | | | SECINFO, SECINFO_NO_NAME, |
| | SEQUENCE, SETATTR, VERIFY, | | | SEQUENCE, SETATTR, SET_SSV, |
| | WRITE | | | TEST_STATEID, VERIFY, |
| NFS4ERR_RESTOREFH | RESTOREFH | | | WANT_DELEGATION, WRITE |
| NFS4ERR_ROFS | COMMIT, CREATE, LINK, OPEN, | | NFS4ERR_RETRY_UNCACHED_REP | CB_SEQUENCE, SEQUENCE |
| | OPENATTR, REMOVE, RENAME, | | NFS4ERR_ROFS | CREATE, LINK, LOCK, LOCKT, |
| | SETATTR, WRITE | | | OPEN, OPENATTR, |
| | OPEN_DOWNGRADE, REMOVE, |
| | RENAME, SETATTR, WRITE |
| NFS4ERR_SAME | NVERIFY | | NFS4ERR_SAME | NVERIFY |
| NFS4ERR_SEQUENCE_POS | CB_SEQUENCE, SEQUENCE | | NFS4ERR_SEQUENCE_POS | CB_SEQUENCE, SEQUENCE |
| NFS4ERR_SEQ_FALSE_RETRY | CB_SEQUENCE, SEQUENCE | | NFS4ERR_SEQ_FALSE_RETRY | CB_SEQUENCE, SEQUENCE |
| NFS4ERR_SEQ_MISORDERED | CB_SEQUENCE, SEQUENCE | | NFS4ERR_SEQ_MISORDERED | CB_SEQUENCE, CREATE_SESSION, |
| NFS4ERR_SERVERFAULT | ACCESS, CB_GETATTR, | | | SEQUENCE |
| | CB_NOTIFY, CB_RECALL, CLOSE, | | NFS4ERR_SERVERFAULT | ACCESS, BIND_CONN_TO_SESSION, |
| | CB_GETATTR, CB_NOTIFY, |
| | CB_NOTIFY_LOCK, |
| | CB_PUSH_DELEG, CB_RECALL, |
| | CB_RECALLABLE_OBJ_AVAIL, |
| | CB_WANTS_CANCELLED, CLOSE, |
| | COMMIT, CREATE, | | | COMMIT, CREATE, |
| | CREATE_SESSION, DELEGPURGE, | | | CREATE_SESSION, DELEGPURGE, |
| | DELEGRETURN, EXCHANGE_ID, | | | DELEGRETURN, |
| | GETATTR, GETFH, | | | DESTROY_CLIENTID, |
| | GET_DIR_DELEGATION, LINK, | | | DESTROY_SESSION, EXCHANGE_ID, |
| | LOCK, LOCKT, LOCKU, LOOKUP, | | | FREE_STATEID, GETATTR, |
| | LOOKUPP, NVERIFY, OPEN, | | | GETDEVICEINFO, GETDEVICELIST, |
| | OPENATTR, OPEN_DOWNGRADE, | | | GET_DIR_DELEGATION, |
| | PUTFH, PUTPUBFH, PUTROOTFH, | | | LAYOUTCOMMIT, LAYOUTGET, |
| | READ, READDIR, READLINK, | | | LAYOUTRETURN, LINK, LOCK, |
| | RELEASE_LOCKOWNER, REMOVE, | | | LOCKU, LOOKUP, LOOKUPP, |
| | NVERIFY, OPEN, OPENATTR, |
| | OPEN_DOWNGRADE, PUTFH, |
| | PUTPUBFH, PUTROOTFH, READ, |
| | READDIR, READLINK, |
| | RECLAIM_COMPLETE, REMOVE, |
| | RENAME, RESTOREFH, SAVEFH, | | | RENAME, RESTOREFH, SAVEFH, |
| | SECINFO, SECINFO_NO_NAME, | | | SECINFO, SECINFO_NO_NAME, |
| | SETATTR, VERIFY, WRITE | | | SETATTR, TEST_STATEID, |
| | VERIFY, WANT_DELEGATION, |
| | WRITE |
| NFS4ERR_SHARE_DENIED | OPEN | | NFS4ERR_SHARE_DENIED | OPEN |
| NFS4ERR_STALE | ACCESS, CLOSE, COMMIT, | | NFS4ERR_STALE | ACCESS, CLOSE, COMMIT, |
| | CREATE, DELEGRETURN, GETATTR, | | | CREATE, DELEGRETURN, GETATTR, |
| | GETFH, GET_DIR_DELEGATION, | | | GETFH, GET_DIR_DELEGATION, |
| | LAYOUTCOMMIT, LAYOUTGET, | | | LAYOUTCOMMIT, LAYOUTGET, |
| | LAYOUTRETURN, LINK, LOCK, | | | LAYOUTRETURN, LINK, LOCK, |
| | LOCKT, LOCKU, LOOKUP, | | | LOCKT, LOCKU, LOOKUP, |
| | LOOKUPP, NVERIFY, OPEN, | | | LOOKUPP, NVERIFY, OPEN, |
| | OPENATTR, OPEN_DOWNGRADE, | | | OPENATTR, OPEN_DOWNGRADE, |
| | PUTFH, READ, READDIR, | | | PUTFH, READ, READDIR, |
| | READLINK, REMOVE, RENAME, | | | READLINK, RECLAIM_COMPLETE, |
| | RESTOREFH, SAVEFH, SECINFO, | | | REMOVE, RENAME, RESTOREFH, |
| | SAVEFH, SECINFO, |
| | SECINFO_NO_NAME, SETATTR, | | | SECINFO_NO_NAME, SETATTR, |
| | VERIFY, WRITE | | | VERIFY, WANT_DELEGATION, |
| NFS4ERR_STALE_CLIENTID | CREATE_SESSION, DELEGPURGE, | | | WRITE |
| NFS4ERR_STALE_CLIENTID | CREATE_SESSION, |
| | DESTROY_CLIENTID, | | | DESTROY_CLIENTID, |
| | DESTROY_SESSION, | | | DESTROY_SESSION |
| | LAYOUTCOMMIT, LAYOUTGET, | | NFS4ERR_SYMLINK | COMMIT, LAYOUTCOMMIT, LINK, |
| | LAYOUTRETURN, LOCK, LOCKT, | | | LOCK, LOCKT, LOOKUP, LOOKUPP, |
| | OPEN, RELEASE_LOCKOWNER | | | OPEN, READ, WRITE |
| NFS4ERR_STALE_STATEID | CLOSE, DELEGRETURN, LOCK, | | NFS4ERR_TOOSMALL | CREATE_SESSION, |
| | LOCKU, OPEN_DOWNGRADE, READ, | | | GETDEVICEINFO, GETDEVICELIST, |
| | SETATTR, WRITE |
| NFS4ERR_SYMLINK | LOOKUP, OPEN |
| NFS4ERR_TOOSMALL | GETDEVICEINFO, GETDEVICELIST, |
| | LAYOUTGET, READDIR | | | LAYOUTGET, READDIR |
| NFS4ERR_TOO_MANY_OPS | ACCESS, CB_GETATTR, | | NFS4ERR_TOO_MANY_OPS | ACCESS, BACKCHANNEL_CTL, |
| | CB_RECALL, CB_RECALL_ANY, | | | BIND_CONN_TO_SESSION, |
| | CB_SEQUENCE, CLOSE, COMMIT, | | | CB_GETATTR, CB_LAYOUTRECALL, |
| | CREATE, DELEGPURGE, | | | CB_NOTIFY, CB_NOTIFY_LOCK, |
| | DELEGRETURN, GETATTR, GETFH, | | | CB_PUSH_DELEG, CB_RECALL, |
| | GET_DIR_DELEGATION, LINK, | | | CB_RECALLABLE_OBJ_AVAIL, |
| | LOCK, LOCKT, LOCKU, LOOKUP, | | | CB_RECALL_ANY, |
| | LOOKUPP, NVERIFY, OPEN, | | | CB_RECALL_SLOT, CB_SEQUENCE, |
| | OPENATTR, OPEN_DOWNGRADE, | | | CB_WANTS_CANCELLED, CLOSE, |
| | PUTFH, PUTPUBFH, PUTROOTFH, | | | COMMIT, CREATE, |
| | READ, READDIR, READLINK, | | | CREATE_SESSION, DELEGPURGE, |
| | RELEASE_LOCKOWNER, REMOVE, | | | DELEGRETURN, |
| | RENAME, RESTOREFH, SAVEFH, | | | DESTROY_CLIENTID, |
| | SECINFO, SECINFO_NO_NAME, | | | DESTROY_SESSION, EXCHANGE_ID, |
| | SEQUENCE, SETATTR, VERIFY, | | | FREE_STATEID, GETATTR, |
| | WRITE | | | GETDEVICEINFO, GETDEVICELIST, |
| NFS4ERR_UNKNOWN_LAYOUTTYPE | GETDEVICEINFO, GETDEVICELIST, | | | GET_DIR_DELEGATION, |
| | LAYOUTCOMMIT, LAYOUTGET, | | | LAYOUTCOMMIT, LAYOUTGET, |
| | LAYOUTRETURN | | | LAYOUTRETURN, LINK, LOCK, |
| NFS4ERR_UNSAFE_COMPOUND | ACCESS, CB_GETATTR, CLOSE, | | | LOCKT, LOCKU, LOOKUP, |
| | COMMIT, CREATE, DELEGPURGE, |
| | DELEGRETURN, GETATTR, GETFH, |
| | GET_DIR_DELEGATION, LINK, |
| | LOCK, LOCKT, LOCKU, LOOKUP, |
| | LOOKUPP, NVERIFY, OPEN, | | | LOOKUPP, NVERIFY, OPEN, |
| | OPENATTR, OPEN_DOWNGRADE, | | | OPENATTR, OPEN_DOWNGRADE, |
| | PUTFH, PUTPUBFH, PUTROOTFH, | | | PUTFH, PUTPUBFH, PUTROOTFH, |
| | READ, READDIR, READLINK, | | | READ, READDIR, READLINK, |
| | RELEASE_LOCKOWNER, REMOVE, | | | RECLAIM_COMPLETE, REMOVE, |
| | RENAME, RESTOREFH, SAVEFH, | | | RENAME, RESTOREFH, SAVEFH, |
| | SECINFO, SECINFO_NO_NAME, | | | SECINFO, SECINFO_NO_NAME, |
| | SETATTR, VERIFY, WRITE | | | SEQUENCE, SETATTR, SET_SSV, |
| NFS4ERR_WRONGSEC | GET_DIR_DELEGATION, LINK, | | | TEST_STATEID, VERIFY, |
| | LOOKUP, LOOKUPP, OPEN, PUTFH, | | | WANT_DELEGATION, WRITE |
| | PUTPUBFH, PUTROOTFH, RENAME, | | NFS4ERR_UNKNOWN_LAYOUTTYPE | CB_LAYOUTRECALL, |
| | GETDEVICEINFO, GETDEVICELIST, |
| | LAYOUTCOMMIT, LAYOUTGET, |
| | LAYOUTRETURN, NVERIFY, |
| | SETATTR, VERIFY |
| NFS4ERR_UNSAFE_COMPOUND | CREATE, GETDEVICEINFO, |
| | GETDEVICELIST, OPEN, OPENATTR |
| NFS4ERR_WRONGSEC | LOOKUP, LOOKUPP, OPEN, PUTFH, |
| | PUTPUBFH, PUTROOTFH, |
| | RESTOREFH | | | RESTOREFH |
| NFS4ERR_WRONG_CRED | CLOSE, DELEGPURGE, |
| | DELEGRETURN, |
| | DESTROY_CLIENTID, |
| | DESTROY_SESSION, EXCHANGE_ID, |
| | FREE_STATEID, LAYOUTCOMMIT, |
| | LAYOUTRETURN, LOCK, LOCKT, |
| | LOCKU, OPEN_DOWNGRADE, |
| | RECLAIM_COMPLETE |
| NFS4ERR_WRONG_TYPE | CB_LAYOUTRECALL, |
| | CB_PUSH_DELEG, COMMIT, |
| | GETATTR, LAYOUTGET, |
| | LAYOUTRETURN, LOCK, LOCKT, |
| | NVERIFY, OPEN, OPENATTR, |
| | READ, READLINK, |
| | RECLAIM_COMPLETE, SETATTR, |
| | VERIFY, WANT_DELEGATION, |
| | WRITE |
| NFS4ERR_XDEV | LINK, RENAME | | NFS4ERR_XDEV | LINK, RENAME |
+-----------------------------------+-------------------------------+ +-----------------------------------+-------------------------------+
Table 14 Table 14
16. NFS version 4.1 Procedures 16. NFS version 4.1 Procedures
16.1. Procedure 0: NULL - No Operation 16.1. Procedure 0: NULL - No Operation
16.1.1. ARGUMENTS 16.1.1. ARGUMENTS
skipping to change at page 468, line 51 skipping to change at page 479, line 51
return the NFS4ERR_TOOSMALL error. return the NFS4ERR_TOOSMALL error.
The returned layout is expressed an array, logr_layout, of type The returned layout is expressed an array, logr_layout, of type
layout4. If a file has a single striping pattern, then logr_layout layout4. If a file has a single striping pattern, then logr_layout
will contain just one entry. Otherwise, if the requested range will contain just one entry. Otherwise, if the requested range
overlaps more than one striping pattern, logr_layout will contain the overlaps more than one striping pattern, logr_layout will contain the
required number of entries. required number of entries.
The metadata server may adjust the range of the returned layout based The metadata server may adjust the range of the returned layout based
on the usage implied by the loga_iomode. The client must be prepared on the usage implied by the loga_iomode. The client must be prepared
to get a layout that does not align exactly with its request. There to get a layout that does not align exactly with its request. The
MUST be at least an overlap of loga_minlength between the layout lo_length field in each element of logr_layout SHOULD be at least as
returned by the server and the client's request, or the server SHOULD long as loga_minlength or the server SHOULD reject the request. See
reject the request. See Section 12.5.2 for more details. Section 12.5.2 for more details.
The metadata server may also return a layout with an lo_iomode other The metadata server may also return a layout with an lo_iomode other
than that requested by the client. If it does so, it must ensure than that requested by the client. If it does so, it must ensure
that the lo_iomode is more permissive than the loga_iomode requested. that the lo_iomode is more permissive than the loga_iomode requested.
For example, this behavior allows an implementation to upgrade read- For example, this behavior allows an implementation to upgrade read-
only requests to read/write requests at its discretion, within the only requests to read/write requests at its discretion, within the
limits of the layout type specific protocol. A lo_iomode of either limits of the layout type specific protocol. A lo_iomode of either
LAYOUTIOMODE4_READ or LAYOUTIOMODE4_RW must be returned. LAYOUTIOMODE4_READ or LAYOUTIOMODE4_RW must be returned.
The logr_return_on_close result field is a directive to return the The logr_return_on_close result field is a directive to return the
skipping to change at page 471, line 34 skipping to change at page 482, line 34
layoutreturn_stateid lorr_stateid; layoutreturn_stateid lorr_stateid;
default: default:
void; void;
}; };
18.44.3. DESCRIPTION 18.44.3. DESCRIPTION
This operation returns one or more layouts represented by the client This operation returns one or more layouts represented by the client
ID (derived from the sessionid in the preceding SEQUENCE operation), ID (derived from the sessionid in the preceding SEQUENCE operation),
lora_layout_type, and lora_iomode. When lr_returntype is lora_layout_type, and lora_iomode. When lr_returntype is
LAYOUTRETURN4_FILE the returned layout is further identified by the LAYOUTRETURN4_FILE, the returned layout is further identified by the
current filehandle, lrf_offset, lrf_length, and lrf_stateid. When current filehandle, lrf_offset, lrf_length, and lrf_stateid. If the
lr_returntype is LAYOUTRETURN4_FSID the current filehandle is used to lrf_length is all 1s, all bytes of the layout, starting at lrf_offset
identify the file system and all layouts matching the client ID, are returned. When lr_returntype is LAYOUTRETURN4_FSID the current
lora_layout_type, and lora_iomode are returned. When lr_returntype filehandle is used to identify the file system and all layouts
is LAYOUTRETURN4_ALL all layouts matching the client ID, matching the client ID, lora_layout_type, and lora_iomode are
lora_layout_type, and lora_iomode are returned and the current returned. When lr_returntype is LAYOUTRETURN4_ALL all layouts
filehandle is not used. After this call, the client MUST NOT use the matching the client ID, lora_layout_type, and lora_iomode are
returned layout(s) and the associated storage protocol to access the returned and the current filehandle is not used. After this call,
file data. the client MUST NOT use the returned layout(s) and the associated
storage protocol to access the file data.
When lr_returntype is LAYOUTRETURN4_FILE, the layout being returned If the set of layouts designated in the case of LAYOUTRETURN4_FSID or
may be a subdivision of a layout previously obtained with LAYOUTGET. LAYOUTRETURN4_ALL is empty, than no error results. In the case of
The layout being returned may also be a subset or superset of a LAYOUTRETURN4_FILE, the byte range specified is return evened if that
layout specified by CB_LAYOUTRECALL. However, if it is a subset, the is a subdivision of a layout previously obtained with LAYOUTGET, a
recall is not complete until the full recalled scope has been combination of multiple layouts previously obtained with LAYOUTGET,
returned. Recalled scope refers to the byte range in the case of or a combination including some layouts previously obtained with
LAYOUTGET, and one or more subdivisions of such layouts. When the
byte range does not designate any bytes for which a layout is held
for the specified file, client ID, layout type and mode, no error
results.
The layout being returned may be a subset or superset of a layout
specified by CB_LAYOUTRECALL. However, if it is a subset, the recall
is not complete until the full recalled scope has been returned.
Recalled scope refers to the byte range in the case of
LAYOUTRETURN4_FILE, use of LAYOUTRETURN4_FSID, or the use of LAYOUTRETURN4_FILE, use of LAYOUTRETURN4_FSID, or the use of
LAYOUTRETURN4_ALL. It is also permissible, and no error should LAYOUTRETURN4_ALL. There must be a LAYOUTRETURN with a matching
result, for a client to return a byte range covering a layout it does scope to complete the return even if all current layout ranges have
not hold. If the lrf_length is all 1s, the layout covers the range been previously individually returned.
from lrf_offset to EOF.
For all lr_returntype values, an iomode of LAYOUTIOMODE4_ANY For all lr_returntype values, an iomode of LAYOUTIOMODE4_ANY
specifies that all layouts that match the other arguments to specifies that all layouts that match the other arguments to
LAYOUTRETURN (i.e., client ID, lora_layout_type, and one of current LAYOUTRETURN (i.e., client ID, lora_layout_type, and one of current
filehandle and range; fsid derived from current filehandle; or filehandle and range; fsid derived from current filehandle; or
LAYOUTRETURN4_ALL) are being returned. LAYOUTRETURN4_ALL) are being returned.
In the case that lr_returntype is LAYOUTRETURN4_FILE, the lrf_stateid In the case that lr_returntype is LAYOUTRETURN4_FILE, the lrf_stateid
provided by the client is a layout stateid as returned from previous provided by the client is a layout stateid as returned from previous
layout operations. layout operations. Although the precise value returned (with a non-
zero seqid) may be used, it is generally best to use the same "other"
value and set the seqid to zero.
When lr_returntype is set to LAYOUTRETURN4_FSID or LAYOUTRETURN4_ALL Return of a layout or all layouts does not invalidate the mapping of
the client also invalidates all the storage device ID to storage storage device ID to storage device address which remains in effect
device address in the affected file system(s). Any device ID until specifically recalled or changed via notification callbacks.
returned by a subsequent LAYOUTGET in the affected file system(s)
will have to be resolved using either GETDEVICEINFO or GETDEVICELIST.
The lora_reclaim field set to TRUE in a LAYOUTRETURN request The lora_reclaim field set to TRUE in a LAYOUTRETURN request
specifies that the client is attempting to return a layout that was specifies that the client is attempting to return a layout that was
acquired before the reboot of the metadata server during the metadata acquired before the reboot of the metadata server during the metadata
server's grace period. When returning layouts that were acquired server's grace period. When returning layouts that were acquired
during the metadata server's grace period MUST set the lora_reclaim during the metadata server's grace period MUST set the lora_reclaim
field to FALSE. The lora_reclaim field MUST be set to FALSE also field to FALSE. The lora_reclaim field MUST be set to FALSE also
when lr_layoutreturn is LAYOUTRETURN4_FSID or LAYOUTRETURN4_ALL. See when lr_layoutreturn is LAYOUTRETURN4_FSID or LAYOUTRETURN4_ALL. See
LAYOUTCOMMIT (Section 18.42) for more details. LAYOUTCOMMIT (Section 18.42) for more details.
Layouts may be returned when recalled or voluntarily (i.e., before Layouts may be returned when recalled or voluntarily (i.e., before
the server has recalled them). In either case the client must the server has recalled them). In either case the client must
properly propagate state changed under the context of the layout to properly propagate state changed under the context of the layout to
the storage device(s)or to the metadata server before returning the the storage device(s)or to the metadata server before returning the
layout. layout.
If the client is returning the layout in response to a If the client is returning the layout in response to a
CB_LAYOUTRECALL where the lor_recalltype was LAYOUTRECALL4_FILE, the CB_LAYOUTRECALL where the lor_recalltype was LAYOUTRECALL4_FILE, the
client should include the lor_stateid value as the lora_recallstateid client should include the lor_stateid value as the lora_recallstateid
value. If a client fails to return a layout in a timely manner, then value. This is done to indicate the point in time (in terms of
the metadata server should use its control protocol with the storage layout stateid transitions) when the recall was issued. The client
must use the precise lora_recallstateid value and not set the seqid
to zero. Otherwise NFS4ERR_BAD_STATEID will be returned. This
stateid is not subject to checking for the NFS4ERR_OLD_STATEID error.
When this LAYOUTRETURN is not in response to CB_LAYOUTRECALL where
the lor_recalltype was LAYOUTRECALL4_FILE, the lor_stateid should be
the special stateid consisting of all zeros.
If a client fails to return a layout in a timely manner, then the
metadata server should use its control protocol with the storage
devices to fence the client from accessing the data referenced by the devices to fence the client from accessing the data referenced by the
layout. See Section 12.5.4 for more details. layout. See Section 12.5.4 for more details.
If the layout identified in the arguments does not exist, the error
NFS4ERR_BADLAYOUT is returned. If a layout exists, but the iomode
does not match, NFS4ERR_BADIOMODE is returned. [[Comment.6: This
error return description does not align with the statement above that
the client should not receive an error when it returns a layout that
it does not hold.]]
If the LAYOUTRETURN request sets the lora_reclaim field to TRUE after If the LAYOUTRETURN request sets the lora_reclaim field to TRUE after
the metadata server's grace period, NFS4ERR_NO_GRACE is returned. the metadata server's grace period, NFS4ERR_NO_GRACE is returned.
If the LAYOUTRETURN request sets the lora_reclaim field to TRUE and If the LAYOUTRETURN request sets the lora_reclaim field to TRUE and
lr_returntype is set to LAYOUTRETURN4_FSID or LAYOUTRETURN4_ALL, lr_returntype is set to LAYOUTRETURN4_FSID or LAYOUTRETURN4_ALL,
NFS4ERR_INVAL is returned. NFS4ERR_INVAL is returned.
If the operation specified lr_returntype of LAYOUTRETURN4_FILE, then If the operation specified lr_returntype of LAYOUTRETURN4_FILE, then
the lorr_stateid will represent the layout stateid as updated for the lorr_stateid will represent the layout stateid as updated for
this operation's processing; the current stateid will also be updated this operation's processing; the current stateid will also be updated
to match the returned value. to match the returned value. If the last byte of any layout for the
current file, client ID, and layout type is being return and there
are not remaining pending CB_LAYOUTRECALL operation for which a
LAYOUTRETURN operation must be done as a completing operation, this
satteid value may be the speical stateid consisting of all zeros.
On success, the current filehandle retains its value. On success, the current filehandle retains its value.
The server MAY require that the principal, security flavor, and The server MAY require that the principal, security flavor, and
applicable, the GSS mechanism, combination that acquired the layout applicable, the GSS mechanism, combination that acquired the layout
also be the one to issue LAYOUTRETURN. This might not be possible if also be the one to issue LAYOUTRETURN. This might not be possible if
credentials for the principal are no longer available. The server credentials for the principal are no longer available. The server
MAY allow the machine credential or SSV credential (see MAY allow the machine credential or SSV credential (see
Section 18.35) to issue DELEGRETURN. Section 18.35) to issue LAYOUTRETURN.
18.44.4. IMPLEMENTATION 18.44.4. IMPLEMENTATION
The final LAYOUTRETURN operation in response to a CB_LAYOUTRECALL The final LAYOUTRETURN operation in response to a CB_LAYOUTRECALL
callback MUST be serialized with any outstanding, intersecting callback MUST be serialized with any outstanding, intersecting
LAYOUTRETURN operations. Note that it is possible that while a LAYOUTRETURN operations. Note that it is possible that while a
client is returning the layout for some recalled range the server may client is returning the layout for some recalled range the server may
recall a superset of that range (e.g. LAYOUTRECALL4_ALL); the final recall a superset of that range (e.g. LAYOUTRECALL4_ALL); the final
return operation for the latter must block until the former layout return operation for the latter must block until the former layout
recall is done - when its corresponding final return operation is recall is done - when its corresponding final return operation is
skipping to change at page 488, line 24 skipping to change at page 499, line 24
client is indicating no desire for a delegation and the server MUST client is indicating no desire for a delegation and the server MUST
return NFS4ERR_INVAL. return NFS4ERR_INVAL.
The client uses the OPEN4_SHARE_ACCESS_WANT_NO_DELEG flag in the The client uses the OPEN4_SHARE_ACCESS_WANT_NO_DELEG flag in the
WANT_DELEGATION operation to cancel a previously requested want for a WANT_DELEGATION operation to cancel a previously requested want for a
delegation. Note that if the server is in the process of sending the delegation. Note that if the server is in the process of sending the
delegation (via CB_PUSH_DELEG) at the time the client issues a delegation (via CB_PUSH_DELEG) at the time the client issues a
cancellation of the want, the delegation might still be pushed to the cancellation of the want, the delegation might still be pushed to the
client. client.
If WANT_DELEGATION fails to return a delegation, and the server
returns NFS4_OK, the server MUST set the delegation type to
OPEN4_DELEGATE_NONE_EXT, and set od_whynone, as described in
Section 18.16. Write delegations are not available for file types
that are not writeable. This includes file objects of types: NF4BLK,
NF4CHR, NF4LNK, NF4SOCK, and NF4FIFO. If the client requests
OPEN4_SHARE_ACCESS_WANT_WRITE_DELEG without
OPEN4_SHARE_ACCESS_WANT_READ_DELEG on an object with one of the
aforementioned file types, the server must set
WND4_WRITE_DELEG_NOT_SUPP_FTYPE.
18.49.4. IMPLEMENTATION 18.49.4. IMPLEMENTATION
A request for a conflicting delegation is not normally intended to A request for a conflicting delegation is not normally intended to
trigger the recall of the existing delegation. Servers may choose to trigger the recall of the existing delegation. Servers may choose to
treat some clients as having higher priority such that their wants treat some clients as having higher priority such that their wants
will trigger recall of an existing delegation, although that is will trigger recall of an existing delegation, although that is
expected to be an unusual situation. expected to be an unusual situation.
Servers will generally recall delegations assigned by WANT_DELEGATION Servers will generally recall delegations assigned by WANT_DELEGATION
on the same basis as those assigned by OPEN. CB_RECALL will on the same basis as those assigned by OPEN. CB_RECALL will
skipping to change at page 517, line 7 skipping to change at page 528, line 7
NFSv4.1 security considerations are primarily about protecting file NFSv4.1 security considerations are primarily about protecting file
objects, locking state, and session state. This specification objects, locking state, and session state. This specification
includes features for strong authentication (Section 2.2.1), includes features for strong authentication (Section 2.2.1),
integrity, and privacy, as well as a rich access control mechanism integrity, and privacy, as well as a rich access control mechanism
(Section 2.8.1) for protecting file objects. The specification uses (Section 2.8.1) for protecting file objects. The specification uses
the SSV is used to provide strong protection of lock and session the SSV is used to provide strong protection of lock and session
state from unauthorized changes (Section 2.10.7.3). state from unauthorized changes (Section 2.10.7.3).
22. IANA Considerations 22. IANA Considerations
22.1. Defining New Notifications 22.1. Named Attribute Definitions
The NFS version 4 protocol provides for the association of named
attributes to files. The name space identifiers for these attributes
are defined as string names. The protocol does not define the
specific assignment of the name space for these file attributes.
Even though the name space is not specifically controlled to prevent
collisions, an IANA registry has been created for the registration of
NFS version 4 named attributes. Registration will be achieved
through the publication of an Informational RFC and will require not
only the name of the attribute but the syntax and semantics of the
named attribute contents; the intent is to promote interoperability
where common interests exist. While application developers are
allowed to define and use attributes as needed, they are encouraged
to register the attributes with IANA.
Such registered named attributes are presumed to apply to all minor
versions of NFSv4, including those defined subsequently to the
registration. Where the named attribute is intended to be limited
with regard to the minor versions for which they are ot be used, the
Informational RFC must clearly state the applicable limits.
22.2. ONC RPC Network Identifiers (netids)
The sub-section on the netaddr4 data srucure within the section
"Structured Data Types" (Section 3.2.11) discussed the r_netid field
and the corresponding r_addr field within a netaddr4 structure. The
NFS version 4 protocol depends on the syntax and semantics of these
fields to effectively communicate callback information between client
and server. Therefore, an IANA registry has been created to include
the values defined in this document and to allow for future expansion
based on transport usage/availability. Additions to this ONC RPC
Network Identifier registry must be done with the publication of an
RFC.
The initial values for this registry are as follows (some of this
text is replicated from Section 3.2.11 for clarity):
The Network Identifier (or r_netid for short) is used to specify a
transport protocol and associated universal address (or r_addr for
short). The syntax of the Network Identifier is a US-ASCII string.
The initial definitions for r_netid are:
"tcp" - TCP over IP version 4
"udp" - UDP over IP version 4
"tcp6" - TCP over IP version 6
"udp6" - UDP over IP version 6
Note: the '"' marks are used for delimiting the strings for this
document and are not part of the Network Identifier string.
For the "tcp" and "udp" Network Identifiers the Universal Address or
r_addr (for IPv4) is a US-ASCII string and is of the form:
h1.h2.h3.h4.p1.p2
The prefix, "h1.h2.h3.h4", is the standard textual form for
representing an IPv4 address, which is always four octets long.
Assuming big-endian ordering, h1, h2, h3, and h4, are respectively,
the first through fourth octets each converted to ASCII-decimal.
Assuming big-endian ordering, p1 and p2 are, respectively, the first
and second octets each converted to ASCII-decimal. For example, if a
host, in big-endian order, has an address of 0x0A010307 and there is
a service listening on, in big endian order, port 0x020F (decimal
527), then complete universal address is "10.1.3.7.2.15".
For the "tcp6" and "udp6" Network Identifiers the Universal Address
or r_addr (for IPv6) is a US-ASCII string and is of the form:
x1:x2:x3:x4:x5:x6:x7:x8.p1.p2
The suffix "p1.p2" is the service port, and is computed the same way
as with universal addresses for "tcp" and "udp". The prefix, "x1:x2:
x3:x4:x5:x6:x7:x8", is the standard textual form for representing an
IPv6 address as defined in Section 2.2 of RFC2373 [12].
Additionally, the two alternative forms specified in Section 2.2 of
RFC2373 [12] are also acceptable.
As mentioned, the registration of new Network Identifiers will
require the publication of an Informational RFC with similar detail
as listed above for the Network Identifier itself and corresponding
Universal Address.
22.3. Defining New Notifications
New notification types may be added to the CB_NOTIFY operation New notification types may be added to the CB_NOTIFY operation
Section 20.4. This can be done via changes to the operations that Section 20.4. This can be done via changes to the operations that
register notifications, or by adding new operations to NFSv4. This register notifications, or by adding new operations to NFSv4. This
requires a new minor version of NFSv4, and requires a standards track requires a new minor version of NFSv4, and requires a standards track
document from IETF. Another way to add a notification is to specify document from IETF. Another way to add a notification is to specify
a new layout type. Notifications for new layout types would be a new layout type. Notifications for new layout types would be
requested via GETDEVICELIST (Section 18.41) and GETDEVICEINFO requested via GETDEVICELIST (Section 18.41) and GETDEVICEINFO
(Section 18.40). See Section 22.2). (Section 18.40). See Section 22.4).
22.2. Defining new layout types 22.4. Defining new layout types
New layout type numbers will be requested from IANA. IANA will only New layout type numbers will be requested from IANA. IANA will only
provide layout type numbers for Standards Track RFCs approved by the provide layout type numbers for Standards Track RFCs approved by the
IESG, in accordance with Standards Action policy defined in RFC2434 IESG, in accordance with Standards Action policy defined in RFC2434
[19]. [19].
The author of a new pNFS layout specification must follow these steps The author of a new pNFS layout specification must follow these steps
to obtain acceptance of the layout type as a standard: to obtain acceptance of the layout type as a standard:
1. The author devises the new layout specification. 1. The author devises the new layout specification.
skipping to change at page 518, line 27 skipping to change at page 531, line 22
4. The author submits the Internet Draft for review through the IETF 4. The author submits the Internet Draft for review through the IETF
standards process as defined in "Internet Official Protocol standards process as defined in "Internet Official Protocol
Standards" (STD 1). The new layout specification will be Standards" (STD 1). The new layout specification will be
submitted for eventual publication as a standards track RFC. submitted for eventual publication as a standards track RFC.
5. The layout specification progresses through the IETF standards 5. The layout specification progresses through the IETF standards
process; the new option will be reviewed by the NFSv4 Working process; the new option will be reviewed by the NFSv4 Working
Group (if that group still exists), or as an Internet Draft not Group (if that group still exists), or as an Internet Draft not
submitted by an IETF working group. submitted by an IETF working group.
22.3. Named Attribute Definitions 22.5. Path Variable Definitions
Named attribute definitions will be managed in accord with the
process described in Section 17.1 of [20], the RFC describing NFSv4.
Named attributes when registered by this process are presumed to be
valid for minor version 1 as well as for minor version 0. The
Informational RFC may specify otherwise however if the use of a
specific named attribute is intended to be restricted to to
particular minor version.
22.4. Path Variable Definitions
This section deal with the IANA considerations associated the the This section deals with the IANA considerations associated the the
variable substituion feature for location names as described in variable substituion feature for location names as described in
Section 11.9.3. As described there, variables subject to Section 11.9.3. As described there, variables subject to
substitution consist of a domain name and a specific name within that substitution consist of a domain name and a specific name within that
domain, with two separated by a colon. domain, with two separated by a colon.
22.4.1. Path Variable Values 22.5.1. Path Variable Values
For names with the domain "ietf.org" only three specific names are For names with the domain "ietf.org" only three specific names are
currently defined and additional names will only be created via currently defined and additional names will only be created via
standards-track RFC's. standards-track RFC's.
For the variable names ${ietf.org:CPU_ARCH} and ${ietf.org:OS_TYPE}, For the variable names ${ietf.org:CPU_ARCH} and ${ietf.org:OS_TYPE},
IANA will have to create a registry of values to be used for that IANA will have to create a registry of values to be used for that
variable. variable. Applications for such values must contain the variable
name, the proposed value of that variable, and a brief (one or two
paragraphs) explanation of what is indicated by that specific value.
Such requests should be reviewed by nfsv4@ietf.org and a Designated
Expert.
For the name ${ietf.org:OS_VERSION}, no such registry need be created For the name ${ietf.org:OS_VERSION}, no such registry need be created
as the specifics of the values will vary with the value of as the specifics of the values will vary with the value of
${ietf.org:OS_TYPE}. ${ietf.org:OS_TYPE}.
22.4.2. Path Variable Names 22.5.2. Path Variable Names
IANA needs to set up a registry to help make generally available IANA needs to set up a registry to help make generally available
information about variables of the form ${domain:var}, domain is information about variables of the form ${domain:var}, where domain
something other than "ietf.org". The registery should consist of is something other than "ietf.org".
vaues of the domain together with a web address within the specified
domain where people can go to get current definitions of all the Applications for the addition of variables to this registry should
variable name values associated with that particular domain, and the contain the name of the variable and a brief (one or a few
specifics of each of those variable names, including the range of paragraphs) explanation of the purpose of the variable. No review of
acceptable values and their meanings. The format of this description these applications by IANA is necessary.
is up to the domain owner.
23. References 23. References
23.1. Normative References 23.1. Normative References
[1] Bradner, S., "Key words for use in RFCs to Indicate Requirement [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", March 1997. Levels", March 1997.
[2] Eisler, M., "XDR: External Data Representation Standard", [2] Eisler, M., "XDR: External Data Representation Standard",
STD 67, RFC 4506, May 2006. STD 67, RFC 4506, May 2006.
skipping to change at page 520, line 18 skipping to change at page 533, line 6
[10] Recio, P., Culley, P., Garcia, D., Hilland, J., and B. Metzler, [10] Recio, P., Culley, P., Garcia, D., Hilland, J., and B. Metzler,
"A Remote Direct Memory Access Protocol Specification - A Work "A Remote Direct Memory Access Protocol Specification - A Work
in Progress", Internet Draft draft-ietf-nfsv4-rpcrdma-05, in Progress", Internet Draft draft-ietf-nfsv4-rpcrdma-05,
September 2006. September 2006.
[11] Krawczyk, H., Bellare, M., and R. Canetti, "HMAC: Keyed-Hashing [11] Krawczyk, H., Bellare, M., and R. Canetti, "HMAC: Keyed-Hashing
for Message Authentication", RFC 2104, February 1997. for Message Authentication", RFC 2104, February 1997.
[12] Hinden, R. and S. Deering, "IP Version 6 Addressing [12] Hinden, R. and S. Deering, "IP Version 6 Addressing
Architecture", RFC 1884, December 1995. Architecture", RFC 2373, July 1998.
[13] International Organization for Standardization, "Information [13] International Organization for Standardization, "Information
Technology - Universal Multiple-octet coded Character Set (UCS) Technology - Universal Multiple-octet coded Character Set (UCS)
- Part 1: Architecture and Basic Multilingual Plane", - Part 1: Architecture and Basic Multilingual Plane",
ISO Standard 10646-1, May 1993. ISO Standard 10646-1, May 1993.
[14] Alvestrand, H., "IETF Policy on Character Sets and Languages", [14] Alvestrand, H., "IETF Policy on Character Sets and Languages",
BCP 18, RFC 2277, January 1998. BCP 18, RFC 2277, January 1998.
[15] Hoffman, P. and M. Blanchet, "Preparation of Internationalized [15] Hoffman, P. and M. Blanchet, "Preparation of Internationalized
 End of changes. 274 change blocks. 
864 lines changed or deleted 1408 lines changed or added

This html diff was produced by rfcdiff 1.34. The latest version is available from http://tools.ietf.org/tools/rfcdiff/