CB_OFFLOAD is used to report to the client the results of an
asynchronous operation, e.g., server-side COPY or WRITE_SAME. The
coa_fh and coa_stateid identify the transaction, and the coa_status
indicates success or failure. The coa_resok4.wr_callback_id MUST NOT
be set. If the transaction failed, then the coa_bytes_copied
contains the number of bytes copied before the failure occurred. The
coa_bytes_copied value indicates the number of bytes copied but not
which specific bytes have been copied.
If the client supports any of the following operations:
COPY: for both intra-server and inter-server asynchronous copies
WRITE_SAME: for ADB initialization
then the client is REQUIRED to support the CB_OFFLOAD operation.
There is a potential race between the reply to the original
transaction on the forechannel and the CB_OFFLOAD callback on the
backchannel. Section 18.104.22.168 of [RFC5661] describes how to handle
this type of issue.
Upon success, the coa_resok4.wr_count presents for each operation:
COPY: the total number of bytes copied
WRITE_SAME: the same information that a synchronous WRITE_SAME would
17. Security Considerations
NFSv4.2 has all of the security concerns present in NFSv4.1 (see
Section 21 of [RFC5661]), as well as those present in the server-side
copy (see Section 4.9) and in Labeled NFS (see Section 9.6).
18. IANA Considerations
The IANA considerations for Labeled NFS are addressed in [RFC7569].
Tom Haynes would like to thank NetApp, Inc. for its funding of his
time on this project.
For the topic "sharing change attribute implementation
characteristics with NFSv4 clients", the original document was by
For the NFS server-side copy, the original document was by James
Lentini, Mike Eisler, Deepak Kenchammana, Anshul Madan, and Rahul
Iyer. Tom Talpey co-authored an unpublished version of that
document. It was also reviewed by a number of individuals: Pranoop
Erasani, Tom Haynes, Arthur Lent, Trond Myklebust, Dave Noveck,
Theresa Lingutla-Raj, Manjunath Shankararao, Satyam Vaghani, and Nico
Williams. Anna Schumaker's early prototyping experience helped us
avoid some traps. Also, both Olga Kornievskaia and Andy Adamson
brought implementation experience to the use of copy stateids in the
inter-server copy. Jorge Mora was able to optimize the handling of
errors for the result of COPY.
For the NFS space reservation operations, the original document was
by Mike Eisler, James Lentini, Manjunath Shankararao, and Rahul Iyer.
For the sparse file support, the original document was by Dean
Hildebrand and Marc Eshel. Valuable input and advice was received
from Sorin Faibish, Bruce Fields, Benny Halevy, Trond Myklebust, and
For the application I/O hints, the original document was by Dean
Hildebrand, Mike Eisler, Trond Myklebust, and Sam Falkner. Some
early reviewers included Benny Halevy and Pranoop Erasani.
For Labeled NFS, the original document was by David Quigley, James
Morris, Jarrett Lu, and Tom Haynes. Peter Staubach, Trond Myklebust,
Stephen Smalley, Sorin Faibish, Nico Williams, and David Black also
contributed in the final push to get this accepted.
Christoph Hellwig was very helpful in getting the WRITE_SAME
semantics to model more of what T10 was doing for WRITE SAME (10)
[T10-SBC2]. And he led the push to get space reservations to more
closely model the posix_fallocate() operation.
Andy Adamson picked up the RPCSEC_GSSv3 work, which enabled both
Labeled NFS and server-side copy to provide more secure options.
Christoph Hellwig provided the update to GETDEVICELIST.
Jorge Mora provided a very detailed review and caught some important
issues with the tables.
During the review process, Talia Reyes-Ortiz helped the sessions run
smoothly. While many people contributed here and there, the core
reviewers were Andy Adamson, Pranoop Erasani, Bruce Fields, Chuck
Lever, Trond Myklebust, David Noveck, Peter Staubach, and Mike
Elwyn Davies was the General Area Reviewer for this document, and his
insights as to the relationship of this document and both [RFC5661]
and [RFC7530] were very much appreciated!
Primary Data, Inc.
4300 El Camino Real Ste 100
Los Altos, CA 94022
United States of America
Phone: +1 408 215 1519