Hi all, I'm trying to write a dtrace script to print a list of files uploaded via sftp. I have it working pretty well, except after the script has been running for a few minutes, I get the "dtrace: processing aborted: Abort due to systemic unresponsiveness" error.
Is there anything I can use to try to find the source of the error, or is
there something I am missing?
Regards,
Mark
Here's the script so far (ran with dtrace -q -C -s scriptname.d):
#define checkdir "/zones/somezone/root/path/to/uploads"
/* I'm triggering on a fop_open after fop_create (fop_create doesn't always
* have the file path available, whereas fop_open does), hence the self->icare
* variable. */
fsinfo::fop_create: /
arg0
/ {
self->icare = 1;
}
/* Check to make sure the file was created via sftp, and check that it is in
* the right dir (the beginning of the path has to match checkdir */
fsinfo::fop_open: /
self->icare == 1 &&
execname == "sftp-server" &&
((vnode_t *)arg0)->v_path &&
strstr(((vnode_t *)arg0)->v_path, checkdir)
== ((vnode_t *)arg0)->v_path
/ {
printf("%s\n", stringof(((vnode_t*)arg0)->v_path));
}
/* If we don't have the right dir, then we need to reset the icare var so we
* don't check every fop_open from now on */
fsinfo::fop_open: /
self->icare == 1
/ {
self->icare = 0;
}
--
Mark Harrison
Systems Administrator
OmniTI Computer Consulting, Inc.
signature.asc
Description: Digital signature
_______________________________________________ dtrace-discuss mailing list [email protected]
