linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Where does NFS client associate the file handle received from server with inode?
@ 2006-08-20  1:36 Xin Zhao
  2006-08-21 13:53 ` Trond Myklebust
  0 siblings, 1 reply; 3+ messages in thread
From: Xin Zhao @ 2006-08-20  1:36 UTC (permalink / raw)
  To: linux-kernel, linux-fsdevel

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?

Many thanks!

-x

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Where does NFS client associate the file handle received from server with inode?
  2006-08-20  1:36 Where does NFS client associate the file handle received from server with inode? Xin Zhao
@ 2006-08-21 13:53 ` Trond Myklebust
  2006-08-23 13:57   ` Xin Zhao
  0 siblings, 1 reply; 3+ messages in thread
From: Trond Myklebust @ 2006-08-21 13:53 UTC (permalink / raw)
  To: Xin Zhao; +Cc: linux-kernel, linux-fsdevel

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


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Where does NFS client associate the file handle received from server with inode?
  2006-08-21 13:53 ` Trond Myklebust
@ 2006-08-23 13:57   ` Xin Zhao
  0 siblings, 0 replies; 3+ messages in thread
From: Xin Zhao @ 2006-08-23 13:57 UTC (permalink / raw)
  To: Trond Myklebust; +Cc: linux-kernel, linux-fsdevel

Because I have to carry some additional information of the file
identified by the file handle. :) But never mind, the problem has been
fixed.

Thanks anyway,
xin

On 8/21/06, Trond Myklebust <trond.myklebust@fys.uio.no> wrote:
> 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
>
>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2006-08-23 13:57 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-08-20  1:36 Where does NFS client associate the file handle received from server with inode? Xin Zhao
2006-08-21 13:53 ` Trond Myklebust
2006-08-23 13:57   ` Xin Zhao

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).