From owner-freebsd-fs Wed Aug 7 17:55:33 2002 Delivered-To: freebsd-fs@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E0D3237B400 for ; Wed, 7 Aug 2002 17:55:30 -0700 (PDT) Received: from hawk.mail.pas.earthlink.net (hawk.mail.pas.earthlink.net [207.217.120.22]) by mx1.FreeBSD.org (Postfix) with ESMTP id 85E5543E77 for ; Wed, 7 Aug 2002 17:55:30 -0700 (PDT) (envelope-from tlambert2@mindspring.com) Received: from pool0264.cvx22-bradley.dialup.earthlink.net ([209.179.199.9] helo=mindspring.com) by hawk.mail.pas.earthlink.net with esmtp (Exim 3.33 #1) id 17cbZq-00015Q-00; Wed, 07 Aug 2002 17:54:59 -0700 Message-ID: <3D51C12D.354F6D99@mindspring.com> Date: Wed, 07 Aug 2002 17:54:05 -0700 From: Terry Lambert X-Mailer: Mozilla 4.79 [en] (Win98; U) X-Accept-Language: en MIME-Version: 1.0 To: "David E. Cross" Cc: Kelly Yancey , fs@FreeBSD.ORG, guptar@cs.rpi.edu Subject: Re: vnodes (UFS journaling)? References: <20020807170230.Y6264-100000@gateway.posi.net> <200208080037.g780b9H79114@monica.cs.rpi.edu> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-fs@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org "David E. Cross" wrote: > > > > Ok, we've noticed an "unfortunate" side-effect of our work. We leak data > > > > (part of the journal shows up in other files). I think it is because > > > > > > What is it that you are trying to do with the vnode? > > > > I believe he is trying to keep a journal, likely as a file on the > > filesystem that is being journalled. I don't actually know, but that's > > what I would guess. > > That is exactly what we are trying to do. Everytime filesystem metadata is > updated we track it in the journal. Your question still makes no sense. What does doing this have to do with vnodes? It sounds like you are trying to use a vnode to represent a journal entry, rather than an abstract reference to a file in a file system. Vnodes are the OS's idea of a file stream. It's the VFS's job to translate a vnode argument to a file stream operation (VOP_*) into a reference to a VFS implementation-specific backing object (e.g. an inode reference), and it's *that* object off of which your journal extents have to be referenced. Basically, this comes down to your internal implementation of VOP_GETPAGES, VOP_READ, VOP_PUTPAGES, and VOP_WRITE, and how these get translated into journal references and writes, respectively. Maybe the problem is that you are using the default version of the {get|put}pages, such that vmo_bject_t page references are translated into raw device page writes, instead of going thorugh your VFS specific versions and turning into journal entries as a result of pages being dirtied? -- Terry To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message