return res;
 }
 
-int nfs4_validate_delegation_stateid(struct nfs_delegation *delegation, const nfs4_stateid *stateid)
-{
-       if (delegation == NULL || memcmp(delegation->stateid.data, stateid->data,
-                                        sizeof(delegation->stateid.data)) != 0)
-               return 0;
-       return 1;
-}
-
 #if defined(CONFIG_NFS_V4_1)
 
 /*
        return res;
 }
 
-int nfs41_validate_delegation_stateid(struct nfs_delegation *delegation, const nfs4_stateid *stateid)
-{
-       if (delegation == NULL)
-               return 0;
-
-       if (stateid->stateid.seqid != 0 &&
-           stateid->stateid.seqid != delegation->stateid.stateid.seqid)
-               return 0;
-       if (memcmp(delegation->stateid.stateid.other,
-                  stateid->stateid.other,
-                  NFS4_STATEID_OTHER_SIZE))
-               return 0;
-
-       return 1;
-}
-
 /*
  * Validate the sequenceID sent by the server.
  * Return success if the sequenceID is one more than what we last saw on
 
                        struct nfs4_sequence_args *args,
                        struct nfs4_sequence_res *res,
                        int cache_reply);
-       int     (*validate_stateid)(struct nfs_delegation *,
+       bool    (*match_stateid)(const nfs4_stateid *,
                        const nfs4_stateid *);
        int     (*find_root_sec)(struct nfs_server *, struct nfs_fh *,
                        struct nfs_fsinfo *);
 
        } while (exception.retry);
        return err;
 }
+
+static bool nfs41_match_stateid(const nfs4_stateid *s1,
+               const nfs4_stateid *s2)
+{
+       if (memcmp(s1->stateid.other, s2->stateid.other,
+                  sizeof(s1->stateid.other)) != 0)
+               return false;
+
+       if (s1->stateid.seqid == s2->stateid.seqid)
+               return true;
+       if (s1->stateid.seqid == 0 || s2->stateid.seqid == 0)
+               return true;
+
+       return false;
+}
+
 #endif /* CONFIG_NFS_V4_1 */
 
+static bool nfs4_match_stateid(const nfs4_stateid *s1,
+               const nfs4_stateid *s2)
+{
+       return memcmp(s1->data, s2->data, sizeof(s1->data)) == 0;
+}
+
+
 struct nfs4_state_recovery_ops nfs40_reboot_recovery_ops = {
        .owner_flag_bit = NFS_OWNER_RECLAIM_REBOOT,
        .state_flag_bit = NFS_STATE_RECLAIM_REBOOT,
 static const struct nfs4_minor_version_ops nfs_v4_0_minor_ops = {
        .minor_version = 0,
        .call_sync = _nfs4_call_sync,
-       .validate_stateid = nfs4_validate_delegation_stateid,
+       .match_stateid = nfs4_match_stateid,
        .find_root_sec = nfs4_find_root_sec,
        .reboot_recovery_ops = &nfs40_reboot_recovery_ops,
        .nograce_recovery_ops = &nfs40_nograce_recovery_ops,
 static const struct nfs4_minor_version_ops nfs_v4_1_minor_ops = {
        .minor_version = 1,
        .call_sync = _nfs4_call_sync_session,
-       .validate_stateid = nfs41_validate_delegation_stateid,
+       .match_stateid = nfs41_match_stateid,
        .find_root_sec = nfs41_find_root_sec,
        .reboot_recovery_ops = &nfs41_reboot_recovery_ops,
        .nograce_recovery_ops = &nfs41_nograce_recovery_ops,