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