Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 29 Nov 2001 00:04:04 -0800
From:      Peter Wemm <peter@wemm.org>
To:        Christoph Herrmann <C.Herrmann@science-computing.de>
Cc:        current@FreeBSD.ORG
Subject:   Re: cdrecord produces broken CDs on -CURRENT: The Answer ! 
Message-ID:  <20011129080404.5DC613808@overcee.netplex.com.au>
In-Reply-To: <Pine.BSF.4.21.0111281532210.59797-100000@scmsrv1.science-computing.de> 

next in thread | previous in thread | raw e-mail | index | archive | help
Christoph Herrmann wrote:
> 
> The Problem was the use of vfs.ioopt=2 !
> As long as vfs.ioopt is 1 or 2 the CDs are broken and with 
> vfs.ioopt=0 the CDs are o.k.
> 
> I didn't see any other problems with the use of vfs.ioopt=2,
> especially no Filesystem corruption :-). Are there other known
> problems withs vfs.ioopt != 0 ?

Yes, it breaks read(2) semantics totally.  With a traditional system, if
you read something into your buffer, it never changes.

With vfs.ioopt >= 1, that read may be turned into a mmap() if the conditions
are right.  Specifically, if you are doing a page aligned read of one or more
pages, your original page will be released and you will get a copy-on-write
page mapped in.

The problem with that is that it is copy-on-write for *you*, not everybody
else.  If somebody else subsequently changes the file, your buffer will
automagically change.

This is why it is off.  The NFS zerocopy patches made some changes to the
VM and buffer system to fix this.  It was pretty simple to fix if I recall
correctly.

Cheers,
-Peter
--
Peter Wemm - peter@FreeBSD.org; peter@yahoo-inc.com; peter@netplex.com.au
"All of this is for nothing if we don't go to the stars" - JMS/B5


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?20011129080404.5DC613808>