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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]