|
你好,这段代码
io:::start
/ 我自己的Log文件 /
{
rd=copyin((uintptr_t )(args[0]->b_addr),16);
bn[0]=rd[4];
bn[1]=rd[5];
bn[2]=rd[6];
bn[3]=rd[7];
seq[0]=rd[8];
seq[1]=rd[9];
seq[2]=rd[10];
seq[3]=rd[11];
printf("IO number:%d %s %s %d %s Seq:%d,Block:%d\n",i,args[1]->dev_statname,args[2]->fi_pathname,args[0]->b_bcount,args[0]-
>b_flags&B_READ?"R":"W",*((int *)&seq[0]),*((int *)&bn[0]));
i++;
}
我发现在Commit的时候会报错,后来我发现是这句代码
rd=copyin((uintptr_t )(args[0]->b_addr),16);
-bash-3.2# ./cc.txt
dtrace: script './cc.txt' matched 7 probes
dtrace: error on enabled probe ID 6 (ID 872: io:genunix:bdev_strategy:start): invalid address (0x0) in action #1 at DIF offset 60
dtrace: error on enabled probe ID 6 (ID 872: io:genunix:bdev_strategy:start): invalid address (0x0) in action #1 at DIF offset 60
dtrace: error on enabled probe ID 6 (ID 872: io:genunix:bdev_strategy:start): invalid address (0x0) in action #1 at DIF offset 60
dtrace: error on enabled probe ID 6 (ID 872: io:genunix:bdev_strategy:start): invalid address (0x0) in action #1 at DIF offset 60
dtrace: error on enabled probe ID 6 (ID 872: io:genunix:bdev_strategy:start): invalid address (0x0) in action #1 at DIF offset 60
帮忙看下是什么回事???
|
|