]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/modules/vinum/.gdbinit.vinum
This commit was generated by cvs2svn to compensate for changes in r51363,
[FreeBSD/FreeBSD.git] / sys / modules / vinum / .gdbinit.vinum
1 define rq
2 rqq rq
3 end
4 document rq
5 Show information about the request pointed to by the variable 
6 rq in the current frame.
7 end
8 define rqq
9 set $rq = (struct request *) $arg0
10 printf "Request: \n" 
11 output/x *$rq
12 printf "\n"
13 bpp $rq->bp
14 set $rqg = $rq->rqg
15 while ($rqg != 0)
16   printf "\nRequest group at %x:\n", $rqg
17   output/x *$rqg
18   printf "\n"
19   set $rqno = 0
20   while ($rqno < $rqg->count)
21     printf "rqg->rqe [%d]: ", $rqno
22     rrqe &$rqg->rqe[$rqno]
23     set $rqno = $rqno + 1
24     end
25   set $rqg = $rqg->next
26   end
27 end
28 document rqq
29 Show information about the request (struct rq) pointed at by the parameter
30 end
31 define rqe
32 rrqe rqe
33 end
34 define rrqe
35 set $rqe = (struct rqelement *) $arg0
36     printf "sdoffset 0x%x, useroffset 0x%x, dataoffset 0x%x, datalen 0x%x, groupoffset 0x%x, grouplen 0x%x, buflen 0x%x\n", \
37       $rqe->sdoffset, \
38       $rqe->useroffset, \
39       $rqe->dataoffset, \
40       $rqe->datalen, \
41       $rqe->groupoffset, \
42       $rqe->grouplen, \
43       $rqe->buflen
44     printf "  Flags 0x%x,  Subdisk %d  Drive %d\n", \
45       $rqe->flags, \
46       $rqe->sdno, \
47       $rqe->driveno
48     bpp &$rqe->b
49 end
50 document rqe
51 Show information about the request element pointed to by the
52 variable rqe in the current frame.
53 end
54 document rrqe
55 Show information about the request element (struct rqe) pointed
56 at by the parameter.
57 end
58 define rqq0
59 printf "rq->prq [0].rqe[0].sdno: " 
60 output/x rq->prq[0].rqe[0].sdno
61 printf "\nBuffer: device: " 
62 output/x rq->prq[0].rqe[0].b.b_dev
63 printf " data: " 
64 output/x rq->prq[0].rqe[0].b.b_data
65 printf " length: " 
66 output/x rq->prq[0].rqe[0].b.b_bcount
67 printf " drive offset: " 
68 output/x rq->prq[0].rqe[0].b.b_blkno
69 printf " subdisk offset: " 
70 output/x rq->prq[0].rqe[0].sdoffset
71 printf "\nFlags: " 
72 if (rq->prq[0].rqe[0].b.b_flags & 0x10)
73 printf "busy "
74 end
75 if (rq->prq[0].rqe[0].b.b_flags & 0x200)
76 printf "done "
77 end
78 if (rq->prq[0].rqe[0].b.b_flags & 0x800)
79 printf "error "
80 end
81 if (rq->prq[0].rqe[0].b.b_flags & 0x100000)
82 printf "read "
83 end
84 output/x rq->prq[0].rqe[0].b.b_flags
85 printf "\nrq->prq [0].rqe[1].sdno: " 
86 output/x rq->prq[0].rqe[1].sdno
87 printf "\nBuffer: device: " 
88 output/x rq->prq[0].rqe[1].b.b_dev
89 printf " data: " 
90 output/x rq->prq[0].rqe[1].b.b_data
91 printf " length: " 
92 output/x rq->prq[0].rqe[1].b.b_bcount
93 printf " drive offset: " 
94 output/x rq->prq[0].rqe[1].b.b_blkno
95 printf " subdisk offset: " 
96 output/x rq->prq[0].rqe[1].sdoffset
97 printf "\nFlags: " 
98 output/x rq->prq[0].rqe[1].b.b_flags
99 echo \n
100 end
101 define rqq1
102 printf "\nrq->prq [1].rqe[0].sdno: " 
103 output/x rq->prq[1].rqe[0].sdno
104 printf "\nBuffer: device: " 
105 output/x rq->prq[1].rqe[0].b.b_dev
106 printf " data: " 
107 output/x rq->prq[1].rqe[0].b.b_data
108 printf " length: " 
109 output/x rq->prq[1].rqe[0].b.b_bcount
110 printf " drive offset: " 
111 output/x rq->prq[1].rqe[0].b.b_blkno
112 printf " subdisk offset: " 
113 output/x rq->prq[1].rqe[0].sdoffset
114 printf "\nFlags: " 
115 output/x rq->prq[1].rqe[0].b.b_flags
116 printf "\nrq->prq [1].rqe[1].sdno: " 
117 output/x rq->prq[1].rqe[1].sdno
118 printf "\nBuffer: device: " 
119 output/x rq->prq[1].rqe[1].b.b_dev
120 printf " data: 0x%x  length 0x%x  drive offset 0x%x  sd offset 0x%x\n" rq->prq[1].rqe[1].b.b_data,
121  rq->prq[1].rqe[1].b.b_bcount,
122  rq->prq[1].rqe[1].b.b_blkno,
123  rq->prq[1].rqe[1].sdoffset
124 printf "\nFlags: " 
125 output/x rq->prq[1].rqe[1].b.b_flags
126 echo \n
127 end
128 define xy
129 bpp
130 echo stripeoffset
131 p stripeoffset
132 echo stripebase
133 p stripebase
134 echo sdno
135 p sdno
136 echo sdoffset
137 p sdoffset
138 echo rqe->sectors
139 p rqe->sectors
140 echo rqe->sdoffset
141 p rqe->sdoffset
142 end
143 # kernel equivalent of 'info -V'
144 define rqi
145    set $rqipe = rqip
146    set $rqip = $rqipe + 1
147    set $rqend  = rqinfo + 128
148    if ($rqip == $rqend)
149       set $rqip = rqinfo
150    end
151    set $done = 0
152    while ($done == 0)
153      if ($rqip->bp != 0)
154         printf "%X:\t%d.%06d\tUBP: %x\t", $rqip, $rqip->timestamp.tv_sec, $rqip->timestamp.tv_usec, $rqip->bp
155         p $rqip->type
156         printf " user  "
157         bpp $rqip->bp
158         if ($rqip->type < loginfo_rqe)
159            printf " copied"
160            bpp &$rqip->info
161         else 
162            rrqe &$rqip->info
163         end
164       end
165       set $rqip = $rqip + 1
166       if ($rqip == $rqipe)
167          set $done = 1
168       end
169       if ($rqip == $rqend)
170          set $rqip = rqinfo
171       end
172    end
173 end
174 define rrqi
175    set $rqipe = rqip
176    set $rqip = $rqipe + 1
177    set $rqend  = rqinfo + 128
178    if ($rqip == $rqend)
179       set $rqip = rqinfo
180    end
181    set $done = 0
182    while ($done == 0)
183      if ($rqip->bp != 0)
184         printf "%d.%06d\t", $rqip->timestamp.tv_sec, $rqip->timestamp.tv_usec
185         if ($rqip->type ==  loginfo_user_bp)
186           if ($rqip->info.b.b_flags & 0x00100000)
187             printf "1VS Read"
188           else
189             printf "1VS Write"
190           end
191         printf "\t%p\t%d.%d\t0x%-9x\t%ld\n", $rqip->bp, $rqip->devmajor, $rqip->devminor, $rqip->info.b.b_blkno, $rqip->info.b.b_bcount
192         end
193         
194       if ($rqip->type == loginfo_user_bpl)
195           if ($rqip->info.b.b_flags & 0x00100000)
196             printf "2LR Read"
197           else
198             printf "2LR Write"
199           end
200         printf "\t%p\t%d.%d\t0x%-9x\t%ld\n", $rqip->bp, $rqip->devmajor, $rqip->devminor, $rqip->info.b.b_blkno, $rqip->info.b.b_bcount
201         end
202          
203       if ($rqip->type == loginfo_rqe)
204           if ($rqip->info.b.b_flags & 0x00100000)
205             printf "3RQ Read"
206           else
207             printf "3RQ Write"
208           end
209         printf "\t%p\t%d.%d\t0x%-9x\t%ld\t%d\t%x\t%x\t%x\n", $rqip->bp, $rqip->devmajor, $rqip->devminor, $rqip->info.rqe.b.b_blkno, $rqip->info.rqe.b.b_bcount, $rqip->info.rqe.sdno, $rqip->info.rqe.sdoffset, $rqip->info.rqe.dataoffset, $rqip->info.rqe.groupoffset
210         end
211         
212       if ($rqip->type == loginfo_iodone)
213           if ($rqip->info.b.b_flags & 0x00100000)
214             printf "4DN Read"
215           else
216             printf "4DN Write"
217           end
218         printf "\t%p\t%d.%d\t0x%-9x\t%ld\t%d\t%x\t%x\t%x\n", $rqip->bp, $rqip->devmajor, $rqip->devminor, $rqip->info.rqe.b.b_blkno, $rqip->info.rqe.b.b_bcount, $rqip->info.rqe.sdno, $rqip->info.rqe.sdoffset, $rqip->info.rqe.dataoffset, $rqip->info.rqe.groupoffset
219         end
220         
221       if ($rqip->type == loginfo_raid5_data)
222           if ($rqip->info.b.b_flags & 0x00100000)
223             printf "5RD Read"
224           else
225             printf "5RD Write"
226           end
227         printf "\t%p\t%d.%d\t0x%-9x\t%ld\t%d\t%x\t%x\t%x\n", $rqip->bp, $rqip->devmajor, $rqip->devminor, $rqip->info.rqe.b.b_blkno, $rqip->info.rqe.b.b_bcount, $rqip->info.rqe.sdno, $rqip->info.rqe.sdoffset, $rqip->info.rqe.dataoffset, $rqip->info.rqe.groupoffset
228         end
229         
230       if ($rqip->type == loginfo_raid5_parity)
231           if ($rqip->info.b.b_flags & 0x00100000)
232             printf "6RP Read"
233           else
234             printf "6RP Write"
235           end
236         printf "\t%p\t%d.%d\t0x%-9x\t%ld\t%d\t%x\t%x\t%x\n", $rqip->bp, $rqip->devmajor, $rqip->devminor, $rqip->info.rqe.b.b_blkno, $rqip->info.rqe.b.b_bcount, $rqip->info.rqe.sdno, $rqip->info.rqe.sdoffset, $rqip->info.rqe.dataoffset, $rqip->info.rqe.groupoffset
237         end
238         end
239       set $rqip = $rqip + 1
240       if ($rqip == $rqipe)
241          set $done = 1
242       end
243       if ($rqip == $rqend)
244          set $rqip = rqinfo
245       end
246    end
247 end