Date: Fri, 16 Jun 2000 08:27:28 -0400 (EDT) From: Luoqi Chen <luoqi@watermarkgroup.com> To: current@FreeBSD.ORG, phk@FreeBSD.ORG Subject: Re: HEADSUP: bioops patch. Message-ID: <200006161227.e5GCRSd01893@lor.watermarkgroup.com>
next in thread | raw e-mail | index | archive | help
> Background: > > The bioops operation vector is a list of OO-like operations which can > be performed on struct buf. They are used by the softupdates code > to handle dependencies. > > Ideally struct buf should have had a real OO like operations vector > like vnodes have it, and struct bioops is the first step towards that. > struct buf will eventually become merely an iocmd structure, so why do we want to complicate things here? > One of the reasons we should have OO-like struct buf, is that as > long as bwrite(bp) "knows" that the buffer is backed by a disk > device, we cannot use the UFS layer on top of a storage manager > which isn't based on disk-devices: When UFS modifies a directory > inode, it will call bwrite(bp) on the buffer with the data. This > would not work if the backing were based on malloc(9) or anonymous > swap-backed VM objects for instance. > We already have an OO method for bwrite: VOP_BWRITE(), the problem is most of the code are still calling bwrite() directly. Will it solve your problem if we change every bwrite() into a VOP_BWRITE()? -lq 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?200006161227.e5GCRSd01893>