Print this page
Fix NFS dtrace

Split Close
Expand all
Collapse all
          --- old/usr/src/lib/libdtrace/common/nfs.d
          +++ new/usr/src/lib/libdtrace/common/nfs.d
↓ open down ↓ 100 lines elided ↑ open up ↑
 101  101  
 102  102  };
 103  103  
 104  104  #pragma D binding "1.5" translator
 105  105  translator nfsv4opinfo_t < struct compound_state *P > {
 106  106          noi_xid = P->req->rq_xprt->xp_xid;
 107  107          noi_cred = P->basecr;
 108  108          noi_curpath = (P->vp == NULL) ? "<unknown>" : P->vp->v_path;
 109  109          noi_shrpath = (P->exi == NULL || P->exi->exi_export.ex_path == NULL) ?
 110  110              "<unknown>" : P->exi->exi_export.ex_path;
 111      -        noi_zoneid = (P->exi == NULL) ? -1 : P->exi->exi_zoneid;
      111 +        noi_zoneid = (P->exi == NULL) ? -1 : P->exi->exi_zone->zone_id;
 112  112  };
 113  113  
 114  114  typedef struct nfsv3opinfo {
 115  115          uint64_t noi_xid;       /* unique transation ID */
 116  116          cred_t *noi_cred;       /* credentials for operation */
 117  117          string noi_curpath;     /* current file handle path (if any) */
 118  118          string noi_shrpath;     /* current share path */
 119  119          zoneid_t noi_zoneid;    /* zone identifier */
 120  120  } nfsv3opinfo_t;
 121  121  
↓ open down ↓ 2 lines elided ↑ open up ↑
 124  124  #pragma D binding "1.5" translator
 125  125  translator nfsv3opinfo_t < nfsv3oparg_t *P > {
 126  126          noi_xid = ((struct svc_req *)arg0)->rq_xprt->xp_xid;
 127  127          noi_cred = (cred_t *)arg1;
 128  128          noi_curpath = (arg2 == 0 || ((vnode_t *)arg2)->v_path == NULL) ?
 129  129              "<unknown>" : ((vnode_t *)arg2)->v_path;
 130  130          noi_shrpath =
 131  131              (arg3 == 0 || ((exportinfo_t *)arg3)->exi_export.ex_path == NULL) ?
 132  132              "<unknown>" : ((exportinfo_t *)arg3)->exi_export.ex_path;
 133  133          noi_zoneid =
 134      -            (arg3 == 0) ? -1 : ((exportinfo_t *)arg3)->exi_zoneid;
      134 +            (arg3 == 0) ? -1 : ((exportinfo_t *)arg3)->exi_zone->zone_id;
 135  135  };
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX