global check_exp, check_rqstp_flavor probe module("nfsd").function("nfsd4_secinfo") { printf("nfsd4_secinfo: rqstp %p fh %p secinfo %p\n", $rqstp, $current_fh, $secinfo); printf(" : %s\n", nfsd4_secinfo_dump($secinfo)); } probe module("nfsd").function("nfsd4_secinfo").return { printf("nfsd4_secinfo: %s\n", nfsderror($return)); } /* probe module("nfsd").function("nfsd_lookup_dentry") { printf(" nfsd_lookup_dentry: rqstp %p fh %p\n", $rqstp, $fhp); } */ probe module("nfsd").function("nfsd_lookup_dentry").return { if ($return != 0) printf(" nfsd_lookup_dentry: %s\n", nfsderror($return)); } probe module("nfsd").function("nfsd4_encode_secinfo") { if ($nfserr != 0) { printf("nfsd4_encode_secinfo: error %s\n", nfsderror($nfserr)); } else { printf("nfsd4_encode_secinfo: %s\n", svc_export_flavors($secinfo->si_exp)); } } probe module("nfsd").function("nfsd4_decode_secinfo") { printf("nfsd4_decode_secinfo: argp %p secinfo %p\n", $argp, $secinfo); } probe module("nfsd").function("nfsd4_decode_secinfo").return { printf("nfsd4_decode_secinfo: %s\n", nfsderror($return)); } probe module("nfsd").function("secinfo_parse") { printf("secinfo_parse: %s\n", svc_export_dump($exp)); } probe module("nfsd").function("secinfo_parse").return { printf("secinfo_parse: %s\n", nfsderror($return)); } probe module("nfsd").function("nfsd_lookup") { printf("nfsd_lookup: rqstp %p fhp %p name %s\n", $rqstp, $fhp, kernel_string($name)); } probe module("nfsd").function("nfsd_lookup").return { printf("nfsd_lookup: %s\n", nfsderror($return)); } probe module("nfsd").function("check_nfsd_access") { check_exp = $exp; check_rqstp_flavor = $rqstp->rq_flavor; } probe module("nfsd").function("check_nfsd_access").return { if ($return != 0) { printf(" check_nfsd_access: %s\n", nfsderror($return)); printf(" : rq_flavor %d %s\n", check_rqstp_flavor, svc_export_flavors(check_exp)); } } probe begin { log("starting nfsd4_secinfo probe") } probe end { log("ending nfsd4_secinfo probe") }