PERFORCE change 147847 for review
John Birrell
jb at FreeBSD.org
Tue Aug 19 22:38:26 UTC 2008
http://perforce.freebsd.org/chv.cgi?CH=147847
Change 147847 by jb at freebsd3 on 2008/08/19 22:38:19
Add some probes for successful stat()s without having to trigger on
all stat()s because a lot are for files that don't exist and we
contribute to global warming if we trigger on those.
Affected files ...
.. //depot/projects/dtrace/src/sys/kern/vfs_syscalls.c#26 edit
Differences ...
==== //depot/projects/dtrace/src/sys/kern/vfs_syscalls.c#26 (text+ko) ====
@@ -90,6 +90,7 @@
SDT_PROBE_ARGTYPE(vfs, , stat, mode, 1, "int");
SDT_PROBE_DEFINE(vfs, , stat, reg);
SDT_PROBE_ARGTYPE(vfs, , stat, reg, 0, "char *");
+SDT_PROBE_ARGTYPE(vfs, , stat, reg, 1, "int");
static int chroot_refuse_vdir_fds(struct filedesc *fdp);
static int getutimes(const struct timeval *, enum uio_seg, struct timespec *);
@@ -2341,6 +2342,11 @@
return (error);
vfslocked = NDHASGIANT(&nd);
error = vn_stat(nd.ni_vp, &sb, td->td_ucred, NOCRED, td);
+ if (!error) {
+ SDT_PROBE(vfs, , stat, mode, path, sb.st_mode, 0, 0, 0);
+ if (S_ISREG(sb.st_mode))
+ SDT_PROBE(vfs, , stat, reg, path, pathseg, 0, 0, 0);
+ }
NDFREE(&nd, NDF_ONLY_PNBUF);
vput(nd.ni_vp);
VFS_UNLOCK_GIANT(vfslocked);
@@ -2353,10 +2359,6 @@
if (KTRPOINT(td, KTR_STRUCT))
ktrstat(&sb);
#endif
- SDT_PROBE(vfs, , stat, mode, path, sb.st_mode, 0, 0, 0);
- if (S_ISREG(sb.st_mode)) {
- SDT_PROBE(vfs, , stat, reg, path, 0, 0, 0, 0);
- }
return (0);
}
More information about the p4-projects
mailing list