bool grace_ended;
        time_t boot_time;
 
+       /* internal mount of the "nfsd" pseudofilesystem: */
+       struct vfsmount *nfsd_mnt;
+
        /*
         * reclaim_str_hashtbl[] holds known client info from previous reset/reboot
         * used in reboot/reset lease grace period processing
 
 static __net_init int nfsd_init_net(struct net *net)
 {
        int retval;
+       struct vfsmount *mnt;
        struct nfsd_net *nn = net_generic(net, nfsd_net_id);
 
        retval = nfsd_export_init(net);
 
        atomic_set(&nn->ntf_refcnt, 0);
        init_waitqueue_head(&nn->ntf_wq);
+
+       mnt =  vfs_kern_mount(&nfsd_fs_type, SB_KERNMOUNT, "nfsd", NULL);
+       if (IS_ERR(mnt)) {
+               retval = PTR_ERR(mnt);
+               goto out_mount_err;
+       }
+       nn->nfsd_mnt = mnt;
        return 0;
 
+out_mount_err:
+       nfsd_reply_cache_shutdown(nn);
 out_drc_error:
        nfsd_idmap_shutdown(net);
 out_idmap_error:
 {
        struct nfsd_net *nn = net_generic(net, nfsd_net_id);
 
+       mntput(nn->nfsd_mnt);
        nfsd_reply_cache_shutdown(nn);
        nfsd_idmap_shutdown(net);
        nfsd_export_shutdown(net);