p = xdr_reserve_space(xdr, 4);
        *p++ = xdr_zero;                        /* truncate */
 
-       encode_nfs_fh4(xdr, &dp->dl_fh);
+       encode_nfs_fh4(xdr, &dp->dl_file->fi_fhandle);
 
        hdr->nops++;
 }
 
        INIT_LIST_HEAD(&dp->dl_perclnt);
        INIT_LIST_HEAD(&dp->dl_recall_lru);
        dp->dl_type = NFS4_OPEN_DELEGATE_READ;
-       fh_copy_shallow(&dp->dl_fh, ¤t_fh->fh_handle);
        INIT_WORK(&dp->dl_recall.cb_work, nfsd4_run_cb_recall);
        return dp;
 out_dec:
        struct nfs4_client *clp = dp->dl_stid.sc_client;
        struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id);
 
-       block_delegations(&dp->dl_fh);
+       block_delegations(&dp->dl_file->fi_fhandle);
 
        /*
         * We can't do this in nfsd_break_deleg_cb because it is