[haiku-development] Re: publish_vnode in ext2

  • From: "Axel Dörfler" <axeld@xxxxxxxxxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Fri, 16 Apr 2010 20:13:16 +0200

Jérôme Duval <korli@xxxxxxxxxxxxxxxx> wrote:
> 2010/4/8 Janito Ferreira Filho <jvffprog@xxxxxxxxxxx>:
> > when I began to study the ext2 code, one of the first things I ran
> > into was
> > a little todo that says there was a little "hack" that used
> > get_vnode
> > instead of publish_vnode to create the vnode of the root directory
> > so it can
> > create it's file cache. How can I "fix" this "hack"? If I
> > understood the
> > problem correctly, we use get_vnode because it will call the
> > volume's
> > get_vnode hook which will create an Inode class and then the object
> > will
> > create a file_cache for that root directory. Is there some sort of
> > a
> > dependency problem here, or is the trouble somewhere else? Can't we
> > just
> > create the Inode object (outside of the volume object) and then
> > simply
> > publish it? Or is something missing? Thanks,
> I'm not sure as the TODO comment seems to date from the first commit
> by Axel.

Unfortunately, I don't remember the problem. However, exchanging the
get_vnode() (which requires the mount ops to be filled out and used
during mounting, that's why this is a hack) with publish_vnode() should
give a hint.

> As I understand it, the bfs code now does a publish_vnode(). Maybe
> see
> how it was changed in this commit by Ingo:

No, this has nothing to do with it.

Bye,
   Axel.


Other related posts: