lkml.org 
[lkml]   [2006]   [May]   [30]   [last100]   RSS Feed
Views: [more markup]   [less markup]   [headers]   [forward]  
 
 
Messages in this thread
/
SubjectRe: [patch 37/61] lock validator: special locking: dcache
FromSteven Rostedt <>
DateTue, 30 May 2006 16:51:08 -0400
On Mon, 2006-05-29 at 18:35 -0700, Andrew Morton wrote:

> > Index: linux/fs/dcache.c
> > ===================================================================
> > --- linux.orig/fs/dcache.c
> > +++ linux/fs/dcache.c
> > @@ -1380,10 +1380,10 @@ void d_move(struct dentry * dentry, stru
> >  	 */
> >  	if (target < dentry) {
> >  		spin_lock(&target->d_lock);
> > -		spin_lock(&dentry->d_lock);
> > +		spin_lock_nested(&dentry->d_lock, DENTRY_D_LOCK_NESTED);
> >  	} else {
> >  		spin_lock(&dentry->d_lock);
> > -		spin_lock(&target->d_lock);
> > +		spin_lock_nested(&target->d_lock, DENTRY_D_LOCK_NESTED);
> >  	}
> > 
> 

[...]

> > +/*
> > + * dentry->d_lock spinlock nesting types:
> > + *
> > + * 0: normal
> > + * 1: nested
> > + */
> > +enum dentry_d_lock_type
> > +{
> > +	DENTRY_D_LOCK_NORMAL,
> > +	DENTRY_D_LOCK_NESTED
> > +};
> > +
> >  struct dentry_operations {
> >  	int (*d_revalidate)(struct dentry *, struct nameidata *);
> >  	int (*d_hash) (struct dentry *, struct qstr *);
> 
> DENTRY_D_LOCK_NORMAL isn't used anywhere.
> 

I guess it is implied with the normal spin_lock.  Since 
  spin_lock(&target->d_lock) and
  spin_lock_nested(&target->d_lock, DENTRY_D_LOCK_NORMAL)
are equivalent. (DENTRY_D_LOCK_NORMAL == 0)

Probably this deserves a comment.

-- Steve


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-05-30 22:54    [from the cache]
©2003-2008