Skip site navigation (1)Skip section navigation (2)
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>