Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 6 Oct 1997 00:34:20 -0700 (PDT)
From:      Julian Elischer <julian@whistle.com>
To:        Joerg Wunsch <joerg_wunsch@uriah.heep.sax.de>
Cc:        freebsd-scsi@FreeBSD.ORG
Subject:   Re: New SCSI Framework Patches Available
Message-ID:  <Pine.BSF.3.95.971006002434.28833A-100000@current1.whistle.com>
In-Reply-To: <19971006070933.HO48297@uriah.heep.sax.de>

next in thread | previous in thread | raw e-mail | index | archive | help


On Mon, 6 Oct 1997, J Wunsch wrote:

> As Julian Elischer wrote:
> 
> > I'd rather see byte offsets ASAP, so that it matches the resid and
> > other count values. of course it makes it easier to accidentally
> > try do non-alligned transfers, but if you are  making that big a,
> > then othingis likely to help you except having your code rejected
> > too much.
> 
> (Well, i can't parse the above sentence really, but hope to have
> figured out what it meant. :)

sorry
typing on a bad line..
I think what was showing on my screen and what was sent did not
correlate..
should read:
"making that big a mess of things, then nothing is likely to help
you, except having your code (should have said requests) rejected
too much" i.e lots of really annoying messages to prod you
into fixing it.

> 
> Drivers are expected to reject requests that don't match the
> underlying physical device anyway.  IMHO, all (most ?) of our drivers
> do this already.  That's why people see an EINVAL when trying to
> disklabel a 2048-byte sectored MO media (the label is attempted to be
> read/written with a granularity of 512 bytes).
> 
> (General consensus)
yes
> 
> > though I'd like to leave the b_pblkno, or maybe make it a b_poffset.
> 
> What for?  Hmm, maybe.  Slices are evil. :-)
you have to store the physical block number etc. somewhere
so that when the request returns the original info is not destroyed,
because the read request may be broken by physio() to be done
in several chunks and you don't want to lose info.

in fact the trouble is that you really want to save the initial
state of the buf struct, or have a different version for each layer
you go through.. I'm re-implimenting the slice code, and have run 
up against this. I'm not sure which entries in the buf I can clobber
at low layers, and which I can't.

I have the generic framework up and running, and slices being dynamically
added etc. from a scsi disk vi an MBR handler. I have not yet written
the disklabel handler.
I'm using a floppy for testing.. :)
(have fdisk'd a floppy)

> 
> -- 
> cheers, J"org
> 
> joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ -- NIC: JW11-RIPE
> Never trust an operating system you don't have sources for. ;-)
> 




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.95.971006002434.28833A-100000>