dtrace_vfs —
a DTrace provider for Virtual File
System
vfs:fplookup:function:name |
|
vfs:namecache:function:name |
|
The DTrace vfs provider allows users to
trace events in the
VFS(9) layer, the kernel interface for file systems on
FreeBSD.
Run ‘dtrace -l -P vfs’ to
list all vfs probes. Add -v
to generate program stability reports, which contain information about the
number of probe arguments and their types.
The fplookup
module defines a single probe,
vfs:fplookup:lookup:done(struct
nameidata *ndp, int line, bool
status_code), that instruments the fast path lookup code in
VFS(9).
The namecache module provides probes
related to the
VFS(9) cache. Consult the source code in
src/sys/kern/vfs_cache.c for more details.
The namei module manages probes related to
pathname translation and lookup operations. Refer to
namei(9) to learn more.
The vop module contains probes related to
the functions responsible for
vnode(9) operations.
This provider is specific to FreeBSD.
Check what lookups failed to be handled in a lockless manner:
# dtrace -n 'vfs:fplookup:lookup:done { @[arg1, arg2] = count(); }'
dtrace(1),
d(7),
SDT(9),
namei(9),
VFS(9)
Brendan Gregg and
Jim Mauro, DTrace: Dynamic
Tracing in Oracle Solaris, Mac OS X and FreeBSD,
Prentice Hall,
https://www.brendangregg.com/dtracebook/,
pp. 335–351,
2011.