[Cluster-devel] [GFS2 PATCH 2/3] Obtaining no_formal_ino from directory entry

S. Wendy Cheng wcheng at redhat.com
Wed Jun 27 05:15:03 UTC 2007


Steven Whitehouse wrote:

>Hi,
>
>On Mon, 2007-06-25 at 21:14 -0400, S. Wendy Cheng wrote:
>  
>
>>GFS2 lookup code doesn't ask for inode shared glock. This implies during 
>>in-memory inode creation for existing file, GFS2 will not disk-read in 
>>the inode contents. This leaves no_formal_ino un-initialized during 
>>lookup time. The un-initialized no_formal_ino is subsequently encoded 
>>into file handle. Clients will get ESTALE error whenever it tries to 
>>access these files.
>>
>>-- Wendy
>>
>>    
>>
>
>Generally this looks good. Please don't add back the _host structure
>though - just add an extra no_formal_ino argument to the lookup function
>which is a u64,
>  
>

The gfs2_inode_lookup() parameter set would be too long. How about this 
... we will never use DT_WHT (bit 14) anyway so let's define:

struct inode *gfs2_inode_lookup(struct super_block *sb,
                                unsigned type,   // if invoked from 
gfs2_get_dentry by NFSD
                                                          // type would 
be DT_WHT.
                                u64 no_addr,
                                u64 no_formal_ino);

Then we would save one parameter in patch #3 that will use DT_WHT as 
nfsbypass param ? Patch enclosed.

-- Wendy



-------------- next part --------------
A non-text attachment was scrubbed...
Name: 02_gfs2_specsfs.patch
Type: text/x-patch
Size: 4356 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/cluster-devel/attachments/20070627/ec89c0f3/attachment.bin>


More information about the Cluster-devel mailing list