Revert "nfsd4: support change_attr_type attribute"
authorJ. Bruce Fields <bfields@redhat.com>
Mon, 30 Nov 2020 22:46:18 +0000 (17:46 -0500)
committerChuck Lever <chuck.lever@oracle.com>
Wed, 9 Dec 2020 14:39:38 +0000 (09:39 -0500)
This reverts commit a85857633b04d57f4524cca0a2bfaf87b2543f9f.

We're still factoring ctime into our change attribute even in the
IS_I_VERSION case.  If someone sets the system time backwards, a client
could see the change attribute go backwards.  Maybe we can just say
"well, don't do that", but there's some question whether that's good
enough, or whether we need a better guarantee.

Also, the client still isn't actually using the attribute.

While we're still figuring this out, let's just stop returning this
attribute.

Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
fs/nfsd/nfs4xdr.c
fs/nfsd/nfsd.h
include/linux/nfs4.h

index 7f650fa47006e9e19921f821cd83dcfc5ee34212..45ee6b12ce5b70d327d08bb9a10745d659383a90 100644 (file)
@@ -3311,16 +3311,6 @@ out_acl:
                        goto out;
        }
 
-       if (bmval2 & FATTR4_WORD2_CHANGE_ATTR_TYPE) {
-               p = xdr_reserve_space(xdr, 4);
-               if (!p)
-                       goto out_resource;
-               if (IS_I_VERSION(d_inode(dentry)))
-                       *p++ = cpu_to_be32(NFS4_CHANGE_TYPE_IS_MONOTONIC_INCR);
-               else
-                       *p++ = cpu_to_be32(NFS4_CHANGE_TYPE_IS_TIME_METADATA);
-       }
-
 #ifdef CONFIG_NFSD_V4_SECURITY_LABEL
        if (bmval2 & FATTR4_WORD2_SECURITY_LABEL) {
                status = nfsd4_encode_security_label(xdr, rqstp, context,
index 7907de3f2ee6385ae02490aaaf26880ebfdce7c8..d63cf8196fedac141a3540c40e81e92cd5664408 100644 (file)
@@ -395,7 +395,6 @@ void                nfsd_lockd_shutdown(void);
 
 #define NFSD4_2_SUPPORTED_ATTRS_WORD2 \
        (NFSD4_1_SUPPORTED_ATTRS_WORD2 | \
-       FATTR4_WORD2_CHANGE_ATTR_TYPE | \
        FATTR4_WORD2_MODE_UMASK | \
        NFSD4_2_SECURITY_ATTRS | \
        FATTR4_WORD2_XATTR_SUPPORT)
index 9dc7eeac924f08f715e21b3105897eef0977d238..5b4c67c91f56a380c2439120c2cb5a3a09a5f86a 100644 (file)
@@ -385,13 +385,6 @@ enum lock_type4 {
        NFS4_WRITEW_LT = 4
 };
 
-enum change_attr_type4 {
-       NFS4_CHANGE_TYPE_IS_MONOTONIC_INCR = 0,
-       NFS4_CHANGE_TYPE_IS_VERSION_COUNTER = 1,
-       NFS4_CHANGE_TYPE_IS_VERSION_COUNTER_NOPNFS = 2,
-       NFS4_CHANGE_TYPE_IS_TIME_METADATA = 3,
-       NFS4_CHANGE_TYPE_IS_UNDEFINED = 4
-};
 
 /* Mandatory Attributes */
 #define FATTR4_WORD0_SUPPORTED_ATTRS    (1UL << 0)
@@ -459,7 +452,6 @@ enum change_attr_type4 {
 #define FATTR4_WORD2_LAYOUT_BLKSIZE     (1UL << 1)
 #define FATTR4_WORD2_MDSTHRESHOLD       (1UL << 4)
 #define FATTR4_WORD2_CLONE_BLKSIZE     (1UL << 13)
-#define FATTR4_WORD2_CHANGE_ATTR_TYPE  (1UL << 15)
 #define FATTR4_WORD2_SECURITY_LABEL     (1UL << 16)
 #define FATTR4_WORD2_MODE_UMASK                (1UL << 17)
 #define FATTR4_WORD2_XATTR_SUPPORT     (1UL << 18)