Date: Wed, 07 Aug 2002 17:54:05 -0700 From: Terry Lambert <tlambert2@mindspring.com> To: "David E. Cross" <crossd@cs.rpi.edu> Cc: Kelly Yancey <kbyanc@posi.net>, fs@FreeBSD.ORG, guptar@cs.rpi.edu Subject: Re: vnodes (UFS journaling)? Message-ID: <3D51C12D.354F6D99@mindspring.com> References: <20020807170230.Y6264-100000@gateway.posi.net> <200208080037.g780b9H79114@monica.cs.rpi.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
"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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3D51C12D.354F6D99>