Re: [PATCH 2/2] fat (exportfs): reconnect file handles to evictedinodes/dentries

From: Steven J. Magnani
Date: Mon Jul 09 2012 - 13:23:54 EST


On Mon, 2012-07-09 at 12:09 -0500, Steven J. Magnani wrote:
> On Mon, 2012-07-09 at 11:27 -0500, Steven J. Magnani wrote:
> > On Tue, 2012-07-10 at 01:10 +0900, OGAWA Hirofumi wrote:
> > > If the inode is not on cache anymore, is there the possibility that
> > > selects the wrong parent? IIRC, NFS Server can be rebooted at any time
> > > while the client using the same file handle.
> >
> > True, but it's looking like we can just use the default handle
> > constructed by export_encode_fh(), namely (i_ino, i_generation,
> > parent->i_ino, parent->i_generation). None of those components should
> > change in a server reboot.
>
> I think I misunderstood you when I wrote this. I assumed we were talking
> about a restart of nfsd, not the entire machine it was running on. If
> there is a danger of mismapping on a reboot isn't that present in the
> existing mainline code, i.e. fat_fh_to_dentry()? Ideally, the (i_ino,
> i_generation) signature would be different on a reboot, although with
> only 2-second granularity in i_generation I suppose that's less likely
> than we would prefer. Also I would think that many inodes simply
> wouldn't exist in the cache, in which case we would fail the operation
> with ESTALE.

On further investigation I don't think there is an issue here.
i_generation is set to the value returned by get_seconds(), which is
wall-clock time, not relative time since boot.

------------------------------------------------------------------------
Steven J. Magnani "I claim this network for MARS!
www.digidescorp.com Earthling, return my space modulator!"

#include <standard.disclaimer>


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/