Date: Thu, 6 Aug 1998 23:40:00 -0700 (PDT) From: Poul-Henning Kamp <phk@critter.freebsd.dk> To: freebsd-bugs@FreeBSD.ORG Subject: Re: kern/7415 Message-ID: <199808070640.XAA18117@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/7415; it has been noted by GNATS.
From: Poul-Henning Kamp <phk@critter.freebsd.dk>
To: freebsd-gnats-submit@freebsd.org
Cc: Subject: Re: kern/7415
Date: Fri, 07 Aug 1998 08:27:24 +0200
------- Forwarded Message
From: Luoqi Chen <luoqi@chen.ml.org>
Message-Id: <199807281445.KAA19921@chen.ml.org>
To: bde@zeta.org.au, freebsd-bugs@FreeBSD.ORG, luoqi@chen.ml.org,
phk@FreeBSD.ORG
Subject: Re: kern/7415
In-Reply-To: <199807281056.UAA30494@godzilla.zeta.org.au>
X-UIDL: 0bb3b238bf5e8a0a5e0814b07eec4131
> >it sounds to me like the simple solution would be to either:
> >A) have ufs clear the vmio flag agan
> >B) have msdosfs (and other similar fs) clear the flag before they start.
>
> Simple and wrong. File systems know nothing of the vmio flag. Either
> vm should clear it and be more careful about setting it (it only works
> now for ufs because ufs never requests a misaligned block), or it should
> always be set for block devices and fixes like the ones in the patch
> should be applied.
>
> >Could you explain what your patch does ?
>
> It attempts to make misaligned buffers (ones whose size and file offsets
> are multiples of PAGE_SIZE) actually work. It isn't clear whether they
^
not
> were intended to work, but they will need to work if the buffer cache
> and vm are ever fully merged.
>
> Bruce
>
Bruce explained it very well (much better than I could). I'd like make one
comment, I believe the misaligned buffers are intended to work. The evidence
is at around line 1830 of vfs_bio.c the statement,
((vm_offset_t) bp->b_data) |= off & PAGE_MASK;
and in numerous other places statements like
pmap_qenter(trunc_page(bp->b_data), bp->b_pages, bp->b_npages);
the original author were aware of these misaligned buffers and attempted to
make them work.
- -lq
------- End of Forwarded Message
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199808070640.XAA18117>
