From owner-cvs-all Fri Sep 25 02:13:38 1998 Return-Path: Received: (from daemon@localhost) by hub.freebsd.org (8.8.8/8.8.8) id CAA02163 for cvs-all-outgoing; Fri, 25 Sep 1998 02:13:38 -0700 (PDT) (envelope-from owner-cvs-all) Received: from nlsystems.com (nlsys.demon.co.uk [158.152.125.33]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id CAA02146 for ; Fri, 25 Sep 1998 02:13:25 -0700 (PDT) (envelope-from dfr@nlsystems.com) Received: from herring.nlsystems.com (herring.nlsystems.com [10.0.0.2]) by nlsystems.com (8.9.1/8.8.5) with SMTP id KAA06850; Fri, 25 Sep 1998 10:11:57 +0100 (BST) Date: Fri, 25 Sep 1998 10:11:57 +0100 (BST) From: Doug Rabson To: "Robert V. Baron" cc: Luoqi Chen , committers@freebsd.org, dillon@backplane.com Subject: Re: Having some serious file write / mmap inconsistancy problems In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-cvs-all@freebsd.org X-Loop: FreeBSD.org Precedence: bulk On 24 Sep 1998, Robert V. Baron wrote: > > I have a possibly similar possibly different problem that could be > explained (I think) with this sort of an inconsistency. I have a file > system (Coda). Its vnodes contain Coda state but also contain the > vnode of a cache file (typically ufs). So when you do open/close you > open both vnodes and when you do read/write on a Coda vnode, you > reapply the operation to the ufs vnode. So now consider copying a > file from somewhere (say even coda) into coda. The copy will diff the > same. But cmp different (cmp uses mmap). ALso you can not execute > the file because the data is garbled (maping again). Again diff works > fine. Ok so somehow I've managed to separate the object from the > vnode (more on that later). But I lied/simplified before; sometimes > the copies cmp and execute fine. What I don't totally understand at > all, is that if I do several copies in a row. Some will work and some > will not and it seems to be in runs. This sounds like a perfect > opporunity of losing some dirty bits. > > NOTE: > There is an added complexity here, because we're probably mapping the > object associated with the Coda vnode (not the ufs vnode). So having > two objects involved might be my problem. But I really can not > understand why it would be intermittent. Have you implemented VOP_GETPAGES? I fixed something like this in NFS many moons ago by implementing VOP_GETPAGES. -- Doug Rabson Mail: dfr@nlsystems.com Nonlinear Systems Ltd. Phone: +44 181 951 1891 Fax: +44 181 381 1039