Re: bcwipe won't wipe a block device...

From: Aaron Peterson <aaron_at_alpete.com>
Date: Thu, 19 Feb 2004 16:23:55 -0500 (EST)
> I'm no expert either, but that never stopped me from commenting on a topic
> :-).
>
> Here's the relevant part.  ktrace shows that bcwipe has opened /dev/da0.
>
>  13661 bcwipe   CALL  access(0xbfbfee71,0x6)
>  13661 bcwipe   NAMI  "/dev/da0"
>  13661 bcwipe   RET   access 0
>  13661 bcwipe   CALL  open(0xbfbfee71,0x82,0xbfbfee71)
>  13661 bcwipe   NAMI  "/dev/da0"
>  13661 bcwipe   RET   open 3
>
> I haven't looked up what the lseek syscall does, but I suspect
> that you are seek to the start of the file here and you have
> succeeded
>
>  13661 bcwipe   CALL  lseek(0x3,0,0,0,0x2)
>  13661 bcwipe   RET   lseek 0
>
> Here'w where the problems begin.  It looks like you are seeking
> beyond the end of the device.  lseek fails and bcwipe isn't
> handling the failure correctly.
>
>  13661 bcwipe   CALL  lseek(0x3,0,0xffffffff,0x7fffffff,0)
>  13661 bcwipe   RET   lseek -1/0xffffffff
>  13661 bcwipe   CALL  read(0x3,0xbfbeeba0,0x1)
>  13661 bcwipe   RET   read -1 errno 22 Invalid argument

Just for fun, here's the kdump from the "dd if=/dev/urandom bs=1024
count=5 of=/dev/da0" which was successful:

http://www.alpete.com/dd.da0.kdump.txt

Looks like the open call, plus some:

13760 dd       CALL  open(0x804f063,0x602,0x1b6)
13760 dd       NAMI  "/dev/da0"
13760 dd       RET   open 4
13760 dd       CALL  fstat(0x4,0xbfbfeca0)
13760 dd       RET   fstat 0
13760 dd       CALL  ioctl(0x4,FIODTYPE,0xbfbfec9c)
13760 dd       RET   ioctl 0

and i don't see much else useful in there...

sooo....  how might i fix this?  learn C and fix bcwipe?  heh...
Received on Thu Feb 19 2004 - 12:21:47 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:44 UTC