All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kinglong Mee <kinglongmee@gmail.com>
To: "J. Bruce Fields" <bfields@fieldses.org>
Cc: "linux-nfs@vger.kernel.org" <linux-nfs@vger.kernel.org>,
	tigran.mkrtchyan@desy.de, kinglongmee@gmail.com
Subject: [PATCH v2] 4.1 xdrdef: Update nfs4.x to the latest dot-x-38.txt
Date: Thu, 30 Jul 2015 20:13:22 +0800	[thread overview]
Message-ID: <55BA14E2.60407@gmail.com> (raw)
In-Reply-To: <55BA130C.1050604@gmail.com>

There are some updates and bugfixes between draft-ietf-nfsv4-minorversion2-dot-x-38.txt
 and draft-ietf-nfsv4-minorversion2-dot-x-30.txt.

Signed-off-by: Kinglong Mee <kinglongmee@gmail.com>
---
 nfs4.1/xdrdef/README |   2 +-
 nfs4.1/xdrdef/nfs4.x | 108 +++++++++++++++++++++++++++++++++++++++++++--------
 2 files changed, 92 insertions(+), 18 deletions(-)

diff --git a/nfs4.1/xdrdef/README b/nfs4.1/xdrdef/README
index 2d57ee1..c39fd43 100644
--- a/nfs4.1/xdrdef/README
+++ b/nfs4.1/xdrdef/README
@@ -1,4 +1,4 @@
 # Note nfs4.x was created using:
 
-curl http://www.ietf.org/id/draft-ietf-nfsv4-minorversion2-dot-x-30.txt|grep "^  *///" | sed 's?^  */// ??' | sed 's?^  *///$??' >nfs4.1/xdrdef/nfs4.x
+curl http://www.ietf.org/id/draft-ietf-nfsv4-minorversion2-dot-x-38.txt|grep "^  *///" | sed 's?^  */// ??' | sed 's?^  *///$??' >nfs4.1/xdrdef/nfs4.x
 patch nfs4.1/xdrdef/nfs4.x <nfs4.1/xdrdef/nfs4.x.diff 
diff --git a/nfs4.1/xdrdef/nfs4.x b/nfs4.1/xdrdef/nfs4.x
index 024e0b4..23c6d7c 100644
--- a/nfs4.1/xdrdef/nfs4.x
+++ b/nfs4.1/xdrdef/nfs4.x
@@ -1,8 +1,53 @@
 /*
- * This file was machine generated for
- *  draft-ietf-nfsv4-minorversion2-30
- * Last updated Wed Jan 21 09:59:04 PST 2015
+ * This file was machine generated for [draft-ietf-nfsv4-minorversion2-38].
+ *
+ * Last updated Tue Apr 28 09:46:23 PDT 2015
  */
+
+/*
+ * Copyright (c) 2015 IETF Trust and the persons identified
+ * as the document authors.  All rights reserved.
+ *
+ * The Redistribution and use in source and binary forms, with
+ * or without modification, are permitted provided that the
+ * following conditions are met:
+ *
+ * - Redistributions of source code must retain the above
+ *   copyright notice, this list of conditions and the
+ *   following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above
+ *   copyright notice, this list of conditions and the
+ *   following disclaimer in the documentation and/or other
+ *   materials provided with the distribution.
+ *
+ * - Neither the name of Internet Society Society, IETF or IETF
+ *   Trust, nor the names of specific contributors, may be
+ *   used to endorse or promote products derived from this
+ *   software without specific prior written permission.
+ *
+ *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
+ *   AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+ *   WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ *   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ *   FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO
+ *   EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ *   LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ *   EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ *   NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ *   SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ *   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ *   LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ *   OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+ *   IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ *   ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ */
+
+/*
+ * This code was derived from [draft-ietf-nfsv4-minorversion2-dot-x-38].
+ */
+
 /*
  *  Copyright (C) The IETF Trust (2007-2014)
  *  All Rights Reserved.
@@ -667,9 +712,9 @@ typedef uint32_t        fs_charset_cap4;
  */
 
 enum netloc_type4 {
-        NL4_NAME        = 0,
-        NL4_URL         = 1,
-        NL4_NETADDR     = 2
+        NL4_NAME        = 1,
+        NL4_URL         = 2,
+        NL4_NETADDR     = 3
 };
 union netloc4 switch (netloc_type4 nl_type) {
         case NL4_NAME:          utf8str_cis nl_name;
@@ -849,10 +894,11 @@ typedef change_policy4  fattr4_change_policy;
 /*
  * attributes new to NFSv4.2
  */
-typedef uint64_t        fattr_space_freed;
+typedef uint64_t        fattr4_space_freed;
 typedef change_attr_type4
                 fattr4_change_attr_type;
-typedef sec_label4      fattr_sec_label<>;
+typedef sec_label4      fattr4_sec_label<>;
+typedef uint32_t        fattr4_clone_blksize;
 
 %/*
 % * REQUIRED Attributes
@@ -931,10 +977,6 @@ const FATTR4_DIRENT_NOTIF_DELAY = 57;
 const FATTR4_DACL               = 58;
 const FATTR4_SACL               = 59;
 const FATTR4_CHANGE_POLICY      = 60;
-
-%/*
-% * new to NFSV4.2
-% */
 const FATTR4_FS_STATUS          = 61;
 const FATTR4_FS_LAYOUT_TYPES    = 62;
 const FATTR4_LAYOUT_HINT        = 63;
@@ -950,7 +992,11 @@ const FATTR4_RETENTEVT_SET      = 72;
 const FATTR4_RETENTION_HOLD     = 73;
 const FATTR4_MODE_SET_MASKED    = 74;
 const FATTR4_FS_CHARSET_CAP     = 76;
-/* 77 is currently unused */
+
+%/*
+% * new to NFSV4.2
+% */
+const FATTR4_CLONE_BLKSIZE      = 77;
 const FATTR4_SPACE_FREED        = 78;
 const FATTR4_CHANGE_ATTR_TYPE   = 79;
 const FATTR4_SEC_LABEL          = 80;
@@ -1287,6 +1333,7 @@ enum nfs_opnum4 {
  OP_READ_PLUS           = 68,
  OP_SEEK                = 69,
  OP_WRITE_SAME          = 70,
+ OP_CLONE               = 71,
  OP_ILLEGAL             = 10044
 };
 
@@ -1316,6 +1363,19 @@ union ACCESS4res switch (nfsstat4 status) {
         void;
 };
 
+struct CLONE4args {
+        /* SAVED_FH: source file */
+        /* CURRENT_FH: destination file */
+        stateid4        cl_src_stateid;
+        stateid4        cl_dst_stateid;
+        offset4         cl_src_offset;
+        offset4         cl_dst_offset;
+        length4         cl_count;
+};
+
+struct CLONE4res {
+        nfsstat4        cl_status;
+};
 struct CLOSE4args {
         /* CURRENT_FH: object */
         seqid4          seqid;
@@ -2759,13 +2819,24 @@ struct COPY4args {
 };
 
 
-struct COPY4res {
-        nfsstat4        cr_status;
-        write_response4 cr_response;
+struct copy_requirements4 {
         bool            cr_consecutive;
         bool            cr_synchronous;
 };
 
+struct COPY4resok {
+        write_response4         cr_response;
+        copy_requirements4      cr_requirements;
+};
+
+union COPY4res switch (nfsstat4 cr_status) {
+case NFS4_OK:
+        COPY4resok              cr_resok4;
+case NFS4ERR_OFFLOAD_NO_REQS:
+        copy_requirements4      cr_requirements;
+default:
+        void;
+};
 
 struct COPY_NOTIFY4args {
         /* CURRENT_FH: source file */
@@ -2775,6 +2846,7 @@ struct COPY_NOTIFY4args {
 
 struct COPY_NOTIFY4resok {
         nfstime4        cnr_lease_time;
+        stateid4        cnr_stateid;
         netloc4         cnr_source_server<>;
 };
 
@@ -2887,7 +2959,7 @@ struct LAYOUTERROR4res {
 };
 
 struct io_info4 {
-        uint32_t        ii_count;
+        uint64_t        ii_count;
         uint64_t        ii_bytes;
 };
 
@@ -3088,6 +3160,7 @@ union nfs_argop4 switch (nfs_opnum4 argop) {
  case OP_READ_PLUS:     READ_PLUS4args opread_plus;
  case OP_SEEK:          SEEK4args opseek;
  case OP_WRITE_SAME:    WRITE_SAME4args opwrite_same;
+ case OP_CLONE:         CLONE4args opclone;
 
  /* Operations not new to NFSv4.1 */
  case OP_ILLEGAL:       void;
@@ -3216,6 +3289,7 @@ union nfs_resop4 switch (nfs_opnum4 resop) {
  case OP_READ_PLUS:     READ_PLUS4res opread_plus;
  case OP_SEEK:          SEEK4res opseek;
  case OP_WRITE_SAME:    WRITE_SAME4res opwrite_same;
+ case OP_CLONE:         CLONE4res opclone;
 
  /* Operations not new to NFSv4.1 */
  case OP_ILLEGAL:       ILLEGAL4res opillegal;
-- 
2.4.3


  reply	other threads:[~2015-07-30 12:13 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-28 11:46 [PATCH 3/4] 4.1 xdrdef: Fix bad define of sec_label4 Kinglong Mee
2015-07-29 19:37 ` J. Bruce Fields
2015-07-30 12:05   ` Kinglong Mee
2015-07-30 12:13     ` Kinglong Mee [this message]
2015-08-18 19:27       ` [PATCH v2] 4.1 xdrdef: Update nfs4.x to the latest dot-x-38.txt J. Bruce Fields
2015-07-30 14:22     ` [PATCH] NFSD: Encode security label as an array Kinglong Mee
2015-07-30 14:22     ` [PATCH] NFS: Decode " Kinglong Mee
2015-07-30 15:48     ` [PATCH 3/4] 4.1 xdrdef: Fix bad define of sec_label4 J. Bruce Fields

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55BA14E2.60407@gmail.com \
    --to=kinglongmee@gmail.com \
    --cc=bfields@fieldses.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=tigran.mkrtchyan@desy.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.