return nfsd_return_attrs(nfserr, resp);
 }
 
+/* Obsolete, replaced by MNTPROC_MNT. */
+static __be32
+nfsd_proc_root(struct svc_rqst *rqstp)
+{
+       return nfs_ok;
+}
+
 /*
  * Look up a path name component
  * Note: the dentry in the resp->fh may be negative if the file
        return fh_getattr(&resp->fh, &resp->stat);
 }
 
+/* Reserved */
+static __be32
+nfsd_proc_writecache(struct svc_rqst *rqstp)
+{
+       return nfs_ok;
+}
+
 /*
  * Write data to a file
  * N.B. After this call resp->fh needs an fh_put
                .pc_xdrressize = ST+AT,
        },
        [NFSPROC_ROOT] = {
+               .pc_func = nfsd_proc_root,
                .pc_decode = nfssvc_decode_void,
                .pc_encode = nfssvc_encode_void,
                .pc_argsize = sizeof(struct nfsd_void),
                .pc_xdrressize = ST+AT+1+NFSSVC_MAXBLKSIZE_V2/4,
        },
        [NFSPROC_WRITECACHE] = {
+               .pc_func = nfsd_proc_writecache,
                .pc_decode = nfssvc_decode_void,
                .pc_encode = nfssvc_encode_void,
                .pc_argsize = sizeof(struct nfsd_void),