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>
