Messages in this thread | | | Subject | Re: [patch 37/61] lock validator: special locking: dcache | From | Steven Rostedt <> | Date | Tue, 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/
| |