Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 28 Jul 1998 10:45:03 -0400 (EDT)
From:      Luoqi Chen <luoqi@chen.ml.org>
To:        bde@zeta.org.au, freebsd-bugs@FreeBSD.ORG, luoqi@chen.ml.org, phk@FreeBSD.ORG
Subject:   Re: kern/7415
Message-ID:  <199807281445.KAA19921@chen.ml.org>
In-Reply-To: <199807281056.UAA30494@godzilla.zeta.org.au>

next in thread | previous in thread | raw e-mail | index | archive | help
> >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

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?199807281445.KAA19921>