[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [Cluster-devel] [GFS2] Fix problems relating to execution of files on GFS2


On Mon, 2008-01-07 at 13:11 -0500, Wendy Cheng wrote:
> Steven Whitehouse wrote:
> > --- a/fs/gfs2/ops_inode.c
> > +++ b/fs/gfs2/ops_inode.c
> > @@ -113,8 +113,18 @@ static struct dentry *gfs2_lookup(struct inode *dir, struct dentry *dentry,
> >  	if (inode && IS_ERR(inode))
> >  		return ERR_PTR(PTR_ERR(inode));
> >  
> > -	if (inode)
> > +	if (inode) {
> > +		struct gfs2_glock *gl = GFS2_I(inode)->i_gl;
> > +		struct gfs2_holder gh;
> > +		int error;
> > +		error = gfs2_glock_nq_init(gl, LM_ST_SHARED, LM_FLAG_ANY, &gh);
> >   
> ok, so this shared glock is now added *back*.  As I recall, its removal 
> about one year ago had caused great grief in NFS portion of logic - had 
> to do a tedious work to make NFS work due to this change. Now, the logic 
> is reverted - has performance impact been measured (since it is a disk 
> read) ?
> -- Wendy

Well yes and no. Its not in the same place as before, its only in the
VFS lookup code and not in the GFS2 internal lookup code, and I really
didn't want to have to add it back here if it could at all be avoided,
but since there is no dcache revalidate in the initial lookup case it
seems we have no choice now :(

Some tests with postmark show no measurable difference in performance so
far, so maybe its not so bad. We still need to get to the point where we
can use lookup intents and solve the problem properly,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]