From mboxrd@z Thu Jan 1 00:00:00 1970 From: S. Wendy Cheng Date: Wed, 27 Jun 2007 01:15:03 -0400 Subject: [Cluster-devel] [GFS2 PATCH 2/3] Obtaining no_formal_ino from directory entry In-Reply-To: <1182913346.3665.3.camel@localhost.localdomain> References: <4680688D.6060608@redhat.com> <1182913346.3665.3.camel@localhost.localdomain> Message-ID: <4681F257.5080100@redhat.com> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 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: