draft-ietf-nfsv4-minorversion2-37.txt   draft-ietf-nfsv4-minorversion2-38.txt 
NFSv4 T. Haynes NFSv4 T. Haynes
Internet-Draft Primary Data Internet-Draft Primary Data
Intended status: Standards Track April 27, 2015 Intended status: Standards Track April 28, 2015
Expires: October 29, 2015 Expires: October 30, 2015
NFS Version 4 Minor Version 2 NFS Version 4 Minor Version 2
draft-ietf-nfsv4-minorversion2-37.txt draft-ietf-nfsv4-minorversion2-38.txt
Abstract Abstract
This Internet-Draft describes NFS version 4 minor version two, This Internet-Draft describes NFS version 4 minor version two,
describing the protocol extensions made from NFS version 4 minor describing the protocol extensions made from NFS version 4 minor
version 1. Major extensions introduced in NFS version 4 minor version 1. Major extensions introduced in NFS version 4 minor
version two include: Server Side Copy, Application I/O Advise, Space version two include: Server Side Copy, Application I/O Advise, Space
Reservations, Sparse Files, Application Data Blocks, and Labeled NFS. Reservations, Sparse Files, Application Data Blocks, and Labeled NFS.
Requirements Language Requirements Language
skipping to change at page 1, line 40 skipping to change at page 1, line 40
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
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."
This Internet-Draft will expire on October 29, 2015. This Internet-Draft will expire on October 30, 2015.
Copyright Notice Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the Copyright (c) 2015 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 4, line 11 skipping to change at page 4, line 11
for a File System . . . . . . . . . . . . . . . . . . . 57 for a File System . . . . . . . . . . . . . . . . . . . 57
15. NFSv4.2 Operations . . . . . . . . . . . . . . . . . . . . . 59 15. NFSv4.2 Operations . . . . . . . . . . . . . . . . . . . . . 59
15.1. Operation 59: ALLOCATE - Reserve Space in A Region of a 15.1. Operation 59: ALLOCATE - Reserve Space in A Region of a
File . . . . . . . . . . . . . . . . . . . . . . . . . . 59 File . . . . . . . . . . . . . . . . . . . . . . . . . . 59
15.2. Operation 60: COPY - Initiate a server-side copy . . . . 60 15.2. Operation 60: COPY - Initiate a server-side copy . . . . 60
15.3. Operation 61: COPY_NOTIFY - Notify a source server of a 15.3. Operation 61: COPY_NOTIFY - Notify a source server of a
future copy . . . . . . . . . . . . . . . . . . . . . . 64 future copy . . . . . . . . . . . . . . . . . . . . . . 64
15.4. Operation 62: DEALLOCATE - Unreserve Space in a Region 15.4. Operation 62: DEALLOCATE - Unreserve Space in a Region
of a File . . . . . . . . . . . . . . . . . . . . . . . 66 of a File . . . . . . . . . . . . . . . . . . . . . . . 66
15.5. Operation 63: IO_ADVISE - Application I/O access pattern 15.5. Operation 63: IO_ADVISE - Application I/O access pattern
hints . . . . . . . . . . . . . . . . . . . . . . . . . 67 hints . . . . . . . . . . . . . . . . . . . . . . . . . 68
15.6. Operation 64: LAYOUTERROR - Provide Errors for the 15.6. Operation 64: LAYOUTERROR - Provide Errors for the
Layout . . . . . . . . . . . . . . . . . . . . . . . . . 73 Layout . . . . . . . . . . . . . . . . . . . . . . . . . 73
15.7. Operation 65: LAYOUTSTATS - Provide Statistics for the 15.7. Operation 65: LAYOUTSTATS - Provide Statistics for the
Layout . . . . . . . . . . . . . . . . . . . . . . . . . 76 Layout . . . . . . . . . . . . . . . . . . . . . . . . . 76
15.8. Operation 66: OFFLOAD_CANCEL - Stop an Offloaded 15.8. Operation 66: OFFLOAD_CANCEL - Stop an Offloaded
Operation . . . . . . . . . . . . . . . . . . . . . . . 78 Operation . . . . . . . . . . . . . . . . . . . . . . . 78
15.9. Operation 67: OFFLOAD_STATUS - Poll for Status of 15.9. Operation 67: OFFLOAD_STATUS - Poll for Status of
Asynchronous Operation . . . . . . . . . . . . . . . . . 79 Asynchronous Operation . . . . . . . . . . . . . . . . . 79
15.10. Operation 68: READ_PLUS - READ Data or Holes from a File 80 15.10. Operation 68: READ_PLUS - READ Data or Holes from a File 80
15.11. Operation 69: SEEK - Find the Next Data or Hole . . . . 85 15.11. Operation 69: SEEK - Find the Next Data or Hole . . . . 85
15.12. Operation 70: WRITE_SAME - WRITE an ADB Multiple Times 15.12. Operation 70: WRITE_SAME - WRITE an ADB Multiple Times
to a File . . . . . . . . . . . . . . . . . . . . . . . 86 to a File . . . . . . . . . . . . . . . . . . . . . . . 86
15.13. Operation 71: CLONE - Clone a range of file into another 15.13. Operation 71: CLONE - Clone a range of file into another
file . . . . . . . . . . . . . . . . . . . . . . . . . . 90 file . . . . . . . . . . . . . . . . . . . . . . . . . . 90
16. NFSv4.2 Callback Operations . . . . . . . . . . . . . . . . . 91 16. NFSv4.2 Callback Operations . . . . . . . . . . . . . . . . . 92
16.1. Operation 15: CB_OFFLOAD - Report results of an 16.1. Operation 15: CB_OFFLOAD - Report results of an
asynchronous operation . . . . . . . . . . . . . . . . . 92 asynchronous operation . . . . . . . . . . . . . . . . . 92
17. Security Considerations . . . . . . . . . . . . . . . . . . . 93 17. Security Considerations . . . . . . . . . . . . . . . . . . . 93
18. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 93 18. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 94
19. References . . . . . . . . . . . . . . . . . . . . . . . . . 93 19. References . . . . . . . . . . . . . . . . . . . . . . . . . 94
19.1. Normative References . . . . . . . . . . . . . . . . . . 93 19.1. Normative References . . . . . . . . . . . . . . . . . . 94
19.2. Informative References . . . . . . . . . . . . . . . . . 94 19.2. Informative References . . . . . . . . . . . . . . . . . 94
Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . 96 Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . 96
Appendix B. RFC Editor Notes . . . . . . . . . . . . . . . . . . 97 Appendix B. RFC Editor Notes . . . . . . . . . . . . . . . . . . 97
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 97 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 97
1. Introduction 1. Introduction
1.1. The NFS Version 4 Minor Version 2 Protocol 1.1. The NFS Version 4 Minor Version 2 Protocol
The NFS version 4 minor version 2 (NFSv4.2) protocol is the third The NFS version 4 minor version 2 (NFSv4.2) protocol is the third
skipping to change at page 59, line 43 skipping to change at page 59, line 43
<CODE ENDS> <CODE ENDS>
15.1.3. DESCRIPTION 15.1.3. DESCRIPTION
Whenever a client wishes to reserve space for a region in a file it Whenever a client wishes to reserve space for a region in a file it
calls the ALLOCATE operation with the current filehandle set to the calls the ALLOCATE operation with the current filehandle set to the
filehandle of the file in question, and the start offset and length filehandle of the file in question, and the start offset and length
in bytes of the region set in aa_offset and aa_length respectively. in bytes of the region set in aa_offset and aa_length respectively.
CURRENT_FH must be a regular file. If CURRENT_FH is not a regular
file, the operation MUST fail and return NFS4ERR_WRONG_TYPE.
The aa_stateid MUST refer to a stateid that is valid for a WRITE
operation and follows the rules for stateids in Sections 8.2.5 and
18.32.3 of [RFC5661].
The server will ensure that backing blocks are reserved to the region The server will ensure that backing blocks are reserved to the region
specified by aa_offset and aa_length, and that no future writes into specified by aa_offset and aa_length, and that no future writes into
this region will return NFS4ERR_NOSPC. If the region lies partially this region will return NFS4ERR_NOSPC. If the region lies partially
or fully outside the current file size the file size will be set to or fully outside the current file size the file size will be set to
aa_offset + aa_length implicitly. If the server cannot guarantee aa_offset + aa_length implicitly. If the server cannot guarantee
this, it must return NFS4ERR_NOSPC. this, it must return NFS4ERR_NOSPC.
The ALLOCATE operation can also be used to extend the size of a file The ALLOCATE operation can also be used to extend the size of a file
if the region specified by aa_offset and aa_length extends beyond the if the region specified by aa_offset and aa_length extends beyond the
current file size. In that case any data outside of the previous current file size. In that case any data outside of the previous
skipping to change at page 67, line 24 skipping to change at page 67, line 32
15.4.3. DESCRIPTION 15.4.3. DESCRIPTION
Whenever a client wishes to unreserve space for a region in a file it Whenever a client wishes to unreserve space for a region in a file it
calls the DEALLOCATE operation with the current filehandle set to the calls the DEALLOCATE operation with the current filehandle set to the
filehandle of the file in question, and the start offset and length filehandle of the file in question, and the start offset and length
in bytes of the region set in da_offset and da_length respectively. in bytes of the region set in da_offset and da_length respectively.
If no space was allocated or reserved for all or parts of the region, If no space was allocated or reserved for all or parts of the region,
the DEALLOCATE operation will have no effect for the region that the DEALLOCATE operation will have no effect for the region that
already is in unreserved state. All further reads from the region already is in unreserved state. All further reads from the region
passed to DEALLOCATE MUST return zeros until overwritten. The passed to DEALLOCATE MUST return zeros until overwritten.
filehandle specified must be that of a regular file.
CURRENT_FH must be a regular file. If CURRENT_FH is not a regular
file, the operation MUST fail and return NFS4ERR_WRONG_TYPE.
The da_stateid MUST refer to a stateid that is valid for a WRITE
operation and follows the rules for stateids in Sections 8.2.5 and
18.32.3 of [RFC5661].
Situations may arise where da_offset and/or da_offset + da_length Situations may arise where da_offset and/or da_offset + da_length
will not be aligned to a boundary for which the server does will not be aligned to a boundary for which the server does
allocations or deallocations. For most file systems, this is the allocations or deallocations. For most file systems, this is the
block size of the file system. In such a case, the server can block size of the file system. In such a case, the server can
deallocate as many bytes as it can in the region. The blocks that deallocate as many bytes as it can in the region. The blocks that
cannot be deallocated MUST be zeroed. cannot be deallocated MUST be zeroed.
DEALLOCATE will result in the space_used attribute being decreased by DEALLOCATE will result in the space_used attribute being decreased by
the number of bytes that were deallocated. The space_freed attribute the number of bytes that were deallocated. The space_freed attribute
 End of changes. 8 change blocks. 
11 lines changed or deleted 24 lines changed or added

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