Re: [PATCH 19/18] fs: split __inode_add_to_list

Dave Chinner
2010-10-12T12:05:43Z

On Tue, Oct 12, 2010 at 07:31:30AM -0400, Christoph Hellwig wrote:
> On Tue, Oct 12, 2010 at 09:47:27PM +1100, Dave Chinner wrote:
> > The only reason XFS hashed the inodes was to avoid problems in the
> > generic code that checked for unhashed inodes during clear_inode(). The
> > evict() changeover moved that unhashed check into
> > generic_drop_inode(), which the filesystem can override. Hence if
> > you add a ->drop_inode() method for XFS that just checks the link
> > count, we can avoid ha??hing the inodes altogether for XFS.
> >
> > I can add another patch on top of this one to do that if you want...
>
> It's unfortunately not that simple. Take a look at the unhashed check
> in __mark_inode_dirty.

Damn - I forgot about that one. Does anyone know why that check is
there?

> The drop_inode check could be avoided for
> quite a long time now. What we could do however is the same hack as
> JFS does in diReadSpecial().

Nasty, but effective. Worth considering, I think.

Cheers,

Dave.
--
Dave Chinner
david@fromorbit.com