Subject: [nfsv4] make change_sec_label 64-bit

From: "J. Bruce Fields" <[email-masked]>
Date: Fri, 2 Aug 2013 11:02:48 -0400

Any objections?  Also available from the 64bit-csl branch at

	git://linux-nfs.org/~bfields/git/NFSv42.git

--b.

commit 55ccb10ca4c6d7b537a85351d18ab36bd9784ef2
Author: J. Bruce Fields <[email-masked]>
Date:   Fri Aug 2 10:02:52 2013 -0400

    Make change_sec_label4 64-bit
    
    The justification for making this 128 bits was to allow implementation
    based on a hash of the label.  However secure hashes may need more than
    128 bits, and 128 bits may already be larger than the typical label.
    Let's just revert to 64 bits for consistency with the change attribute.

diff --git a/Makefile b/Makefile
index 931260b..6704ca4 100755
--- a/Makefile
+++ b/Makefile
@@ -172,7 +172,6 @@ SPITGEN =	dotx.d/type_nfstime4.x \
 		dotx.d/type_netloc_type4.x \
 		dotx.d/type_chattr_type.x \
 		dotx.d/type_label_format.x \
-		dotx.d/type_change_label.x \
 		dotx.d/copy_confirm_auth.x \
 		dotx.d/copy_from_auth.x \
 		dotx.d/copy_to_auth.x \
@@ -251,7 +250,6 @@ SPITGENXML =	autogen/type_nfstime4.xml \
 		autogen/type_netloc_type4.xml \
 		autogen/type_chattr_type.xml \
 		autogen/type_label_format.xml \
-		autogen/type_change_label.xml \
 		autogen/copy_confirm_auth.xml \
 		autogen/copy_from_auth.xml \
 		autogen/copy_to_auth.xml \
diff --git a/dotx.d/Makefile b/dotx.d/Makefile
index cc4517f..cdd43ba 100755
--- a/dotx.d/Makefile
+++ b/dotx.d/Makefile
@@ -235,7 +235,6 @@ SPITGEN =	basic_types.x \
 		data_content4.x \
 		type_chattr_type.x \
 		type_label_format.x \
-		type_change_label.x \
 		stable_how4.x \
 		write_response4.x
 
diff --git a/dotx.d/head.x b/dotx.d/head.x
index 20ff978..db21417 100644
--- a/dotx.d/head.x
+++ b/dotx.d/head.x
@@ -397,7 +397,6 @@ include(type_fs_charset_cap4.x)
 include(type_netloc_type4.x)
 include(type_chattr_type.x)
 include(type_label_format.x)
-include(type_change_label.x)
 
 include(copy_from_auth.x)
 include(copy_to_auth.x)
diff --git a/dotx.d/spit_types.sh b/dotx.d/spit_types.sh
index 4db3c47..40a2468 100755
--- a/dotx.d/spit_types.sh
+++ b/dotx.d/spit_types.sh
@@ -45,6 +45,7 @@ typedef :opaque:verifier4[NFS4_VERIFIER_SIZE]:Verifier used for various operatio
 :enum:netloc_type4:Specifies network locations.
 typedef :string:secret4<>:Secret value to share between servers.
 typedef :uint32_t:policy4:Label format specifier or policy identifier.
+typedef :uint64_t:change_sec_label4:Used to detect label changes.
 EOF
 
 	fi
@@ -1433,18 +1434,6 @@ EOF
 
 	;;
 
-	type_change_label.x )
-
-cat << EOF > $i
-
-struct change_sec_label4 {
-	uint64_t	csl_major;
-	uint64_t	csl_minor;
-};
-EOF
-
-	;;
-
 	stable_how4.x )
 
 cat << EOF > $i
diff --git a/nfsv42_middle_fileattributes.xml b/nfsv42_middle_fileattributes.xml
index 709d021..d602989 100644
--- a/nfsv42_middle_fileattributes.xml
+++ b/nfsv42_middle_fileattributes.xml
@@ -199,7 +199,6 @@ typedef uint32_t  policy4;
     </section>
 
     <section toc='exclude' anchor='ss:fattr:chsec' title='Attribute 81: change_sec_label'>
-      <?rfc include='autogen/type_change_label.xml'?>
 
       <t>
         The change_sec_label attribute is a read-only attribute per file.