From owner-cvs-all Tue Apr 4 8:47:39 2000 Delivered-To: cvs-all@freebsd.org Received: from mailman.zeta.org.au (mailman.zeta.org.au [203.26.10.16]) by hub.freebsd.org (Postfix) with ESMTP id C7E1037B5A0; Tue, 4 Apr 2000 08:47:30 -0700 (PDT) (envelope-from bde@zeta.org.au) Received: from bde.zeta.org.au (bde.zeta.org.au [203.2.228.102]) by mailman.zeta.org.au (8.8.7/8.8.7) with ESMTP id BAA22018; Wed, 5 Apr 2000 01:47:16 +1000 Date: Wed, 5 Apr 2000 01:46:57 +1000 (EST) From: Bruce Evans X-Sender: bde@alphplex.bde.org To: Poul-Henning Kamp Cc: "Justin T. Gibbs" , cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/kern kern_mib.c vfs_bio.c src/sys/sys buf.h In-Reply-To: <27007.954851980@critter.freebsd.dk> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Tue, 4 Apr 2000, Poul-Henning Kamp wrote: > In message , Bruce Ev > ans writes: > > >> I will propose we stick to just one field in struct bio: a 64bit > >> byte offset, we may want to keep a blkno around in struct buf, > >> but lets decide that separately. > > > >This requires more widespread changes to convert block numbers to offsets > >in all file systems, and normally gives 2 extra sets of conversions: > > No, we can populate the bio_offset in specfs::strategy if it isn't > already, we don't need to touch any filesystems for this: > > if (!(bp->b_FLAGS & B_PHYS)) > bp->bio_offset = bp->b_blkno << DEV_BSIZE; This should use dbtob() to avoid overflow. BTW, dbtob() is broken on alphas. OK, this is good enough for keeping complications out of the bio layer. There are so many layers between bawrite() and the driver strategy routine that the overhead for an extra conversion or two will be lost in the bloat. Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message