Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 Feb 2004 16:23:55 -0500 (EST)
From:      "Aaron Peterson" <aaron@alpete.com>
To:        "Steve Kargl" <sgk@troutmask.apl.washington.edu>
Cc:        Aaron Peterson <aaron@alpete.com>
Subject:   Re: bcwipe won't wipe a block device...
Message-ID:  <26399.162.114.211.143.1077225835.squirrel@mail.alpete.com>
In-Reply-To: <20040219211125.GA34078@troutmask.apl.washington.edu>
References:  <9615.162.114.211.143.1077213472.squirrel@mail.alpete.com> <20040219201520.GB44313@cicely12.cicely.de> <29352.162.114.211.143.1077222503.squirrel@mail.alpete.com> <20040219204012.GA33771@troutmask.apl.washington.edu> <46490.162.114.211.143.1077223809.squirrel@mail.alpete.com> <20040219211125.GA34078@troutmask.apl.washington.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
> 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...



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?26399.162.114.211.143.1077225835.squirrel>