Subject: Re: kern/3460: block io unit for sd should be sector size
To: None <salvet@ics.muni.cz, salvet@horn.ics.muni.cz>
From: Koji Imada - je4wob/2 <koji@math.human.nagoya-u.ac.jp>
List: netbsd-bugs
Date: 04/28/1997 08:59:24
>>>>> "|" == Zdenek Salvet <salvet@horn.ics.muni.cz> writes:

 |> I think 1)+ ffs modification to support fs sector != disklabel sector
 |> would be best (I would like to create ffs for CD images in vnd) despite
 |> the more difficult implementation.

I have tested this implementation. In case of "block io unit !=
disklabel sector size != DEV_BSIZE", raw device access doesn't work
correctly. Sdread(), cdread() and vndread() just forward request to
physio() in sys/kern/kern_physio.c, but physio assumes "block io unit
== DEV_BSIZE"(using btodb()). To use block io unit other than
DEV_BSIZE, physio should be modified to accept new block io unit
parameter(or bit shift parameter). 

I add physiio2() which accepts bit shift constant and testing now. It
seems working now.

In my testing kernel which is  "block io unit == disklabel sector
size", I have modified cd9660 code and vnd device to support disklabel 
feature. So I wold be able to make ffs for CD image in vnd. :-) I will
test it in near future. In theory, it should work.

Anyway, where is appropriate to send non-512 bytes/sector media
related things(patches and problems)? netbsd-bugs is right place?
Or should i re-send-pr? Please tell me.
--
Koji Imada - je4owb/2
koji@math.human.nagoya-u.ac.jp