This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: [NFS] question about file identifier in NFS trace data
- From: Xue Peng Li <xuepengl at cn dot ibm dot com>
- To: systemtap at sourceware dot org
- Cc: chucklever at gmail dot com, nfs at lists dot sourceforge dot net, tony dot reix at bull dot net
- Date: Thu, 31 Aug 2006 18:13:57 +0800
- Subject: Re: [NFS] question about file identifier in NFS trace data
Thanks.
Best Regards,
Li Xuepeng (李雪鹏)
Linux Performance, China Systems & Technology Lab
China Development Labs, Beijing
Email: xuepengl@cn.ibm.com
systemtap-owner@sourceware.org wrote on 2006-08-29 11:58:15:
> On Tue, 2006-08-29 at 11:12 +0800, Xue Peng Li wrote:
> > Hi,
> > I am now working on NFS trace hooks of LKET. I want to know what
file
> > is being operated for both client side and server
> > side NFS functions. On client side, two kinds of data can be used to
> > identify files, i.e. i_ino field of the inode object
> > which can identify the filesystem inode on disk, and the other is NFS
file
> > handler which is used to identify files between
> > client and server.On server side ,only NFS file handler received from
> > client can be used to identify file(It's very
> > complicated to convert it to inode object at nfsd_* probe point).
> >
> > I am not sure which one should be traced. If file handler is
traced
> > ,there is another problem , the total length of
> > file handler is 128 bytes,and for NFSV3 the length is variable. I am
not
> > sure how many bytes should be traced, if 128 bytes
> > are traced ,it's will so long for performance penalty, usually we only
> > trace serval bytes for one data.
> >
> > Could anyone give me some suggestions? Thanks in advance
>
> See what we use for dprintk(): use dentries whenever possible, else use
which filed of dentries should be traced , i_ino and file name?
> the combination sb->s_id + fileid.
do you think the combination can identify the file between server and
client?
On server side , nfsd_proc function only receives file handler as its
input arguments ,
how can I extract the s_id and fileid from file handler , because at
nfsd_proc probe
point ,I can't call fh_verify to convert file handler to inode . Do you
think it's
possible to extract such information from file handler according to
comments in
include/linux/nfsd/nfsfh.h
>
> Cheers,
> Trond
>