global check_exp, check_rqstp_flavor 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 { if ($return) printf("nfsd_lookup: %s\n", nfsderror($return)); } probe module("nfsd").function("nfsd_lookup_dentry").return { if ($return != 0) printf(" nfsd_lookup_dentry: %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 module("nfsd").function("fh_verify") { printf(" fh_verify: rqstp %p fhp %p type %d access %d\n", $rqstp, $fhp, $type, $access); printf(" %s\n", svcfhfmt($fhp)); } probe module("nfsd").function("fh_verify").return { if ($return) printf(" fh_verify: %s\n", nfsderror($return)); } probe module("nfsd").function("nfsd_setuser_and_check_port") { printf(" nfsd_setuser_and_check_port: rqstp %p exp %p \n", $rqstp, $exp); printf(" : %s\n", svc_export_dump($exp)); } probe module("nfsd").function("nfsd_setuser_and_check_port").return { if ($return) printf(" nfsd_setuser_and_check_port: %s\n", nfsderror($return)); } /* probe module("nfsd").function("check_nfsd_access") { printf(" check_nfsd_access: rqstp %p exp %p \n", $rqstp, $exp); } */ probe module("nfsd").function("check_nfsd_access").return { if ($return) printf(" check_nfsd_access: %s\n", nfsderror($return)); } /* probe module("nfsd").function("rqst_exp_parent") { printf(" rqst_exp_parent: rqstp %p mnt %d dentry %d\n", $rqstp, $mnt, $dentry); } */ probe module("nfsd").function("rqst_exp_parent") { printf(" rqst_exp_parent: rqstp %p path %p \n", $rqstp, $path); } probe module("nfsd").function("rqst_exp_parent").return { printf(" rqst_exp_parent: %p\n", $return); } probe kernel.function("lookup_one_len") { printf(" lookup_one_len: name %p dentry %p len %d\n", $name, $base, $len); } probe kernel.function("lookup_one_len").return { printf(" lookup_one_len: %p\n", $return); } probe module("nfsd").function("nfsd_cross_mnt") { printf(" nfsd_cross_mnt: rqstp %p\n", $rqstp); } probe module("nfsd").function("nfsd_cross_mnt").return { if ($return) printf(" nfsd_cross_mnt: %s\n", nfsderror($return)); } probe module("nfsd").function("rqst_exp_get_by_name") { printf(" rqst_exp_get_by_name: rqstp %p path %p \n", $rqstp, $path); } /* probe module("nfsd").function("rqst_exp_get_by_name") { printf(" rqst_exp_get_by_name: rqstp %p mnt %p dentry %p\n", $rqstp, $mnt, $dentry); } */ probe module("nfsd").function("rqst_exp_get_by_name").return { printf(" rqst_exp_get_by_name: %p\n", $return); } probe begin { log("starting nfsd_lookup probe") } probe end { log("ending nfsd_lookup probe") }