4 GetOptions("pid=i" => \$pid,
12 $subsys->{UNDEFINED} = 0;
21 $subsys->{EXT2OBD} = 9;
22 $subsys->{PORTALS} = 10;
23 $subsys->{SOCKNAL} = 11;
24 $subsys->{QSWNAL} = 12;
25 $subsys->{PINGER} = 13;
26 $subsys->{FILTER} = 14;
27 $subsys->{TRACE} = 15; # obdtrace, not to be confused with D_TRACE */
31 $subsys->{GMNAL} = 19;
32 $subsys->{PTLROUTER} = 20;
35 $masks->{TRACE} = 1 << 0; # /* ENTRY/EXIT markers */
36 $masks->{INODE} = 1 << 1; #
37 $masks->{SUPER} = 1 << 2; #
38 $masks->{EXT2} = 1 << 3; # /* anything from ext2_debug */
39 $masks->{MALLOC} = 1 << 4; # /* print malloc, free information */
40 $masks->{CACHE} = 1 << 5; # /* cache-related items */
41 $masks->{INFO} = 1 << 6; # /* general information */
42 $masks->{IOCTL} = 1 << 7; # /* ioctl related information */
43 $masks->{BLOCKS} = 1 << 8; # /* ext2 block allocation */
44 $masks->{NET} = 1 << 9; # /* network communications */
45 $masks->{WARNING} = 1 << 10; #
46 $masks->{BUFFS} = 1 << 11; #
47 $masks->{OTHER} = 1 << 12; #
48 $masks->{DENTRY} = 1 << 13; #
49 $masks->{PORTALS} = 1 << 14; # /* ENTRY/EXIT markers */
50 $masks->{PAGE} = 1 << 15; # /* bulk page handling */
51 $masks->{DLMTRACE} = 1 << 16; #
52 $masks->{ERROR} = 1 << 17; # /* CERROR} = ...) == CDEBUG} = D_ERROR, ...) */
53 $masks->{EMERG} = 1 << 18; # /* CEMERG} = ...) == CDEBUG} = D_EMERG, ...) */
54 $masks->{HA} = 1 << 19; # /* recovery and failover */
69 $entering = /Process entered/;
75 $entering = /Process leaving/;
80 my ($subsys, $mask) = split ":";
86 my ($subsys, $mask) = split ":";
91 $linepid = extractpid($_);
92 $linemask = getmask($_);
93 $linesubsys = getsubsys($_);
95 # printf "---> mask %x subsys %x\n", $linemask, $linesubsys;
98 chop $prefix->{$linepid};
99 chop $prefix->{$linepid};
101 if ( !$pid || $linepid == $pid) {
102 next if ($trace && $linemask != $masks->{TRACE});
104 ( $linesubsys == $subsys->{DLM}));
106 ( $linesubsys == $subsys->{RPC} ||
107 $linesubsys == $subsys->{NET} ||
108 $linesubsys == $subsys->{PORTALS} ||
109 $linesubsys == $subsys->{SOCKNAL} ||
110 $linesubsys == $subsys->{QSWNAL} ||
111 $linesubsys == $subsys->{GMNAL}));
113 # printf "sub/mask: %s - %s\n", getsubsys($_), getmask($_);
115 printf "%s%s", $prefix->{$linepid}, $_;
116 last if $count++ > 100;
119 $prefix->{$linepid} .= ' ';
123 # printf "argv %s pid %d\n", $ARGV[0], extractpid($ARGV[0]);