From owner-freebsd-current Thu Nov 29 0: 4: 8 2001 Delivered-To: freebsd-current@freebsd.org Received: from peter3.wemm.org (c1315225-a.plstn1.sfba.home.com [24.14.150.180]) by hub.freebsd.org (Postfix) with ESMTP id B5B3D37B41B for ; Thu, 29 Nov 2001 00:04:04 -0800 (PST) Received: from overcee.netplex.com.au (overcee.wemm.org [10.0.0.3]) by peter3.wemm.org (8.11.0/8.11.0) with ESMTP id fAT844M84282 for ; Thu, 29 Nov 2001 00:04:04 -0800 (PST) (envelope-from peter@wemm.org) Received: from wemm.org (localhost [127.0.0.1]) by overcee.netplex.com.au (Postfix) with ESMTP id 5DC613808; Thu, 29 Nov 2001 00:04:04 -0800 (PST) (envelope-from peter@wemm.org) X-Mailer: exmh version 2.5 07/13/2001 with nmh-1.0.4 To: Christoph Herrmann Cc: current@FreeBSD.ORG Subject: Re: cdrecord produces broken CDs on -CURRENT: The Answer ! In-Reply-To: Date: Thu, 29 Nov 2001 00:04:04 -0800 From: Peter Wemm Message-Id: <20011129080404.5DC613808@overcee.netplex.com.au> Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG 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