---
name: "stapprobes.nfsd"
section: "5"
platform: "linux"
package: "systemtap"
version: "0.0.20080705-1+lenny1"
release: "Debian 5.0 (Lenny)"
platforms: ["linux"]
url: "https://new.carta.tech/stapprobes.nfsd"
---

# stapprobes.nfsd(5)

systemtap NFS server side probe points

## NAME

stapprobes.nfsd - systemtap NFS server side probe points

## DESCRIPTION

This family of probe points is used to probe NFS activities on  server side.  Because there is only one function, i.e., nfsd4\_proc\_compound in proc level for NFSv4, all the following nfsd.proc probe points except  nfsd.proc.compound are only for NFSv2 and NFSv3.

It contains the following probe points:

- **nfsd.proc.lookup**

  Fires whenever client opens/searchs file on server

  **Arguments:**

  *client\_ip*\
     the ip address of client

  *proto*\
     transfer protocol

  *version*\
     nfs version

  *fh*\
     the pointer to file handler of parent dir

  *filename*\
     file name

  *filelen*\
     the length of file name

- **nfsd.proc.read**

  Fires whenever client reads file on server

  **Arguments:**

  *client\_ip*\
     the ip address of client

  *proto*\
     transfer protocol

  *version*\
     nfs version

  *fh*\
     the pointer to file handler of file

  *count,size*\
     number of bytes to be read

  *offset*\
     the offset of file

  *vec*\
     struct kvec ,includes buf address in kernel address\
     and the length of each buffer

  *vlen*\
     number of blocks to be read

- **nfsd.proc.write**

  Fires whenever client writes data to file on server

  **Arguments:**

  *client\_ip*\
     the ip address of client

  *proto*\
     transfer protocol

  *version*\
     nfs version

  *fh*\
     the pointer to file handler of file

  *count,size*\
     number of bytes to written

  *offset*\
     the offset of file

  *vec*\
     struct kvec ,includes buf address in kernel address\
     and the length of each buffer

  *vlen*\
     number of blocks to written

  *stable*\
      argp-\>stable(only for nfs.proc3.write)

- **nfsd.proc.commit**

  Fires whenever client does a commit operation

  **Arguments:**

  *client\_ip*\
     the ip address of client

  *proto*\
     transfer protocol

  *version*\
     nfs version

  *fh*\
     the pointer to file handler of file

  *count,size*\
     number of bytes to written

  *offset*\
     the offset of file

- **nfsd.proc.create**

  Fires whenever client creates a file on server

  **Arguments:**

  *client\_ip*\
     the ip address of client

  *proto*\
     transfer protocol

  *version*\
     nfs version

  *fh*\
     the pointer to file handler of parent dir

  *filename*\
     file name

  *filelen*\
     the length of file name

- **nfsd.proc.remove**

  Fires whenever client removes a file on server

  **Arguments:**

  *client\_ip*\
     the ip address of client

  *proto*\
     transfer protocol

  *version*\
     nfs version

  *fh*\
     the pointer to file handler of file

  *filename*\
     file name

  *filelen*\
     the length of file name

- **nfsd.proc.rename**

  Fires whenever client renames a file on server

  **Arguments:**

  *client\_ip*\
     the ip address of client

  *proto*\
     transfer protocol

  *version*\
     nfs version

  *fh*\
     the pointer to file handler of old path

  *tfh*\
     the pointer to file handler of new path

  *filename*\
     old file name

  *tname*\
     new file name

  *filelen*\
     the length of old file name

  *tlen*\
     the length of new file name

- **nfsd.proc.compound**

  Fires whenever server receives a NFSV4 operation from client

  **Arguments:**

  *client\_ip*\
     the ip address of client

  *proto*\
     transfer protocol

  *version*\
     nfs version

  *num*\
     number of file operation

  *op*\
     head of operation list

- **nfsd.open**

  Fires whenever server opens file

  **Arguments:**

  *fh*\
      file handle (the first part is the length of the file handle)

  *access*\
     type of open (read/write/commit/readdir...)

  *type*\
     type of file(regular file or dir)

- **nfsd.read**

  Fires whenever server reads file

  **Arguments:**

  *fh*\
      file handle (the first part is the length of the file handle)

  *file*\
      argument :file, indicates if the file has been opened.

  *count,size*\
     number of bytes to be read

  *offset*\
     the offset of file

  *vec*\
     struct kvec ,includes buf address in kernel address\
     and the length of each buffer

  *vlen*\
     number of blocks to be read

- **nfsd.write**

  Fires whenever server writes file

  **Arguments:**

  *fh*\
      file handle (the first part is the length of the file handle)

  *file*\
      argument :file, indicates if the file has been opened.

  *count,size*\
     number of bytes to be read

  *offset*\
     the offset of file

  *vec*\
     struct kvec ,includes buf address in kernel address\
     and the length of each buffer

  *vlen*\
     number of blocks to be written

- **nfsd.commit**

  Fires when server commits all pending writes to stable storage

  **Arguments:**

  *fh*\
     file handle (the first part is the length of the file handle)

  *count,size*\
     number of bytes to be read

  *offset*\
     the offset of file

- **nfsd.lookup**

  Fires whenever client opens/searchs file on server

  **Arguments:**

  *fh*\
     file handle (the first part is the length of the file handle)

  *filename*\
     file name

  *filelen*\
     the length of file name

- **nfsd.create**

   Fires when client creates a file(regular,dir,device,fifo) on\
    server side, sometimes nfsd will call nfsd\_create\_v3 instead \
    of this function

  **Arguments:**

  *fh*\
     file handle (the first part is the length of the file handle)

  *filename*\
     file name

  *filelen*\
     the length of file name

  *type*\
     file type(regular,dir,device,fifo ...)

  *iap\_valid*\
     Attribute flags

  *iap\_mode*\
     file access mod

- **nfsd.createv3**

  Fires when client creates a regular file or set file attributes on server side,only called by nfsd3\_proc\_create and nfsd4\_open (op\_claim\_type is NFS4\_OPEN\_CLAIM\_NULL)

  **Arguments:**

  *fh*\
     file handle (the first part is the length of the file handle)

  *filename*\
     file name

  *filelen*\
     the length of file name

  *iap\_valid*\
     Attribute flags

  *iap\_mode*\
     file access mode

  *createmode*\
     create mode .The possible values could be:\
       NFS3\_CREATE\_EXCLUSIVE,NFS3\_CREATE\_UNCHECKED,NFS3\_CREATE\_GUARDED

  *truncp*\
     trunp arguments, indicates if the file shouldbe truncate

  *verfier*\
     file attributes (atime,mtime,mode).It's used to reset file\
     attributes for CREATE\_EXCLUSIVE

- **nfsd.unlink**

  Fires when client removes a file or a dir  on server side,

  **Arguments:**

  *fh*\
     file handle (the first part is the length of the file handle)

  *filename*\
     file name

  *filelen*\
     the length of file name

  *type*\
     file type(file or dir)

- **nfsd.rename**

  Fires when clients rename a file on server side

  **Arguments:**

  *fh*\
     file handler of old path

  *tfh*\
     file handler of new path

  *filename*\
     old file name

  *tname*\
     new file name

  *flen*\
     length of old file name

  *tlen*\
     length of new file name

- **nfsd.close**

  Fires whenever server closes file

  **Arguments:**

  *filename*\
     file name

- **nfsd.dispatch**

  Fires whenever server receives NFS operation from client

  **Arguments:**

  *client\_ip*\
     the ip address of client

  *proto*\
     transfer protocol

  *version*\
     nfs version

  *xid*\
     transmission id

  *prog*\
     program number

  *proc*\
     procedure number

## SEE ALSO

[*stap*(1)](/stap/1.md), [*stapprobes*(5)](/stapprobes/5.md),
