Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 10 Feb 2002 05:08:37 -0500 (EST)
From:      Mikhail Teterin <mi@aldan.algebra.com>
To:        bde@zeta.org.au
Cc:        jhb@FreeBSD.ORG, current@FreeBSD.ORG
Subject:   Re: panic: bdwrite: buffer is not busy
Message-ID:  <20020212021236.C21C89F394@okeeffe.bestweb.net>

next in thread | raw e-mail | index | archive | help
On 10 Feb, Bruce Evans wrote:
> On Sat, 9 Feb 2002, John Baldwin wrote:
> 
>> On 09-Feb-02 Mikhail Teterin wrote:
>> > While  attempting  to  ``fdisk  fd0.1440''. Or  ``fdisk  fd0''.  Or
>> > ``newfs_msdos fd0.1440'' with or without the floppy inside :-\ With
>> > todays or Jan 3rd kernel (my previous upgrade).
>>
>> Only use fdisk  on hard disks. Still it shouldn't  panic. The bdwrite
>> is  just extra  garbage, the  real  panic is  due to  a NULL  pointer
>> dereference:
>
> This  is a  well known  bug  in the  device  layer. I  reported it  on
> 2001/12/26 and  fixed it  locally a  little later.  See the  thread in
> -current about "panic during fdisk'ing a md(4) device" for patches.

Fdisk I don't really need, but attempting to newfs the floppy caused the
same  panic :-\  And  mounting  the already  formatted  floppy leads  to
"invalid argument". Could we have this fixed soon, please? The inability
to access  a floppy  is a  great setback for  my local  FreeBSD advocacy
efforts :-)

	-mi

>> I'm guessing  that devsw() is  returning NULL  here. You could  add a
>> KASSERT() to  this macro just  before the call to  d_strategy() along
>> the lines of
>>
>>	KASSERT(devsw((bp)->bio_dev) != NULL, ("no devsw for bio"));    \
> 
> Right.  From my original bug report:
> 
> ! "fdisk /dev/fd0" now causes a null pointer panic in readdisklabel().
> ! This  is  because  fdioctl()   attempts  to  construct  a  (slightly
> ! wrong) device  using dkmodpart(), but dkmodpart()  only constructs a
> ! half-baked  device since  it  only calls  makedev().  The device  is
> ! missing a devsw so DEV_STRATEGY() in readdisklabel() panics on it.



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




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