[Cluster-devel] [GFS2 Patch] pass formal ino in do_filldir_main

Wendy Cheng wcheng at redhat.com
Wed Feb 7 23:37:16 UTC 2007


On Wed, 2007-02-07 at 17:35 -0500, Wendy Cheng wrote:
> On Wed, 2007-02-07 at 10:49 +0000, Steven Whitehouse wrote:
> > Hi,
> > 
> > I'm not sure that this is the right fix. no_formal_ino is used only as a
> > hash value in the lookup, the "real" lookup is always via no_addr. So we
> > can alter that hash if required to just use no_addr, but I'd rather not
> > have to return no_formal_ino here since we have no way to map that back
> > to the disk location of the inode in general. In fact given a maximum
> > sized GFS2 filesystem and enough nodes to fill it with inodes in a
> > reasonable time (yes, I know thats a lot and a long time!), its not even
> > certain to be unique,
> > 
> 
> NFS won't run well without this patch - I originally included this into
> an "if command == nfsd" clause. Later checking into Ken's description
> (in cluster-list at redhat.com) about this issue, I think his intention
> here was that any ino returned to user space should use no_formal_ino.
> And this is exactly what the filldir should be doing (by returning
> no_formal_ino back to caller). 
> 
> Another option is temporarily disabling this feature and make this works
> as GFS1 (with these two inode numbers identical) ? 


To make it clear .. we need to either change the original design or I
think we should take this patch - since

1. The contents of filldir are intended to get passed to user mode - and
that should be the formal inode number
2. NFS can't run without this change.

-- Wendy




More information about the Cluster-devel mailing list