Re: Where does NFS client associate the file handle received fromserver with inode?

From: Trond Myklebust
Date: Mon Aug 21 2006 - 09:51:05 EST


On Sat, 2006-08-19 at 21:36 -0400, Xin Zhao wrote:
> I ran into a problem:
>
> I extend several fields to file handle, and change compose_fh() to
> initialize some value into the file handle. I think the client side
> should be able to associate the file handle with inode and used them
> properly afterwards. However, I found a problem:
>
> Say I have a program 'postmark" in /tmp, and my current directory is /
>
> If I do '/tmp/postmark', getattr() funciton will not use the right
> file handle with extension. Instead, it seems to use a file handle
> excluding my extension
>
> but if I change to '/tmp', do 'ls -al' first, then I do 'postmark',
> getattr() will use the right file handle.
>
> So I think maybe I need to change NFS client to associate the extened
> file handle with inode . But I don't know where NFS client does this.
> Can someone give me a help?

Why are you changing the file handle? We should already be caching the
correct one (i.e. the one that was sent to us by the server in the
LOOKUP call) in the 'struct nfs_inode'.

Cheers,
Trond

-
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/