Why not do the following? (Goals: satisfy spec, which says we're not supposed to allow files to diseappear on open and stuff. (See the section on filehandle types.)) 1. Create a directory named, say, .nfs4_opens, at the top level of the export. Should be owned by root, r/w to noone else, etc. Perhaps some mount --bind magic or something can make it invisible. Ideally it should be completely imprevious to outside intervention (even by clients guessing filehandles), and very hard to fool with locally. 2. On first open, create a hard link to the opened file, in this directory, named with a filehandle or something. Keep a reference to the dentry in the nfs4_file. 3. Destroy the hardlink on destruction of the nfs4_file. To make this more efficient, we may want to cache nfs4_file's until memory pressure forces us to do this. 4. On reboot, at the end of the grace period, we scan this directory and remove any unreferenced crud (files that clients didn't do reclaims for). Note Eisler has proposed a protocol extension allowing servers to advertise the fact that they do something like this, allowing clients to skip sillyrename. So at some point this would probably be a reasonable thing to implement.