{
        int status;
 
-       if (cb->cb_minorversion == 0)
+       if (cb->cb_clp->cl_minorversion == 0)
                return 0;
 
        status = decode_cb_op_status(xdr, OP_CB_SEQUENCE, &cb->cb_seq_status);
        const struct nfs4_delegation *dp = cb_to_delegation(cb);
        struct nfs4_cb_compound_hdr hdr = {
                .ident = cb->cb_clp->cl_cb_ident,
-               .minorversion = cb->cb_minorversion,
+               .minorversion = cb->cb_clp->cl_minorversion,
        };
 
        encode_cb_compound4args(xdr, &hdr);
                container_of(cb, struct nfs4_layout_stateid, ls_recall);
        struct nfs4_cb_compound_hdr hdr = {
                .ident = 0,
-               .minorversion = cb->cb_minorversion,
+               .minorversion = cb->cb_clp->cl_minorversion,
        };
 
        encode_cb_compound4args(xdr, &hdr);
        struct nfs4_client *clp = cb->cb_clp;
        u32 minorversion = clp->cl_minorversion;
 
-       cb->cb_minorversion = minorversion;
        /*
         * cb_seq_status is only set in decode_cb_sequence4res,
         * and so will remain 1 if an rpc level failure occurs.
 
 
 struct nfsd4_callback {
        struct nfs4_client *cb_clp;
-       u32 cb_minorversion;
        struct rpc_message cb_msg;
        const struct nfsd4_callback_ops *cb_ops;
        struct work_struct cb_work;