Messages in this thread |  | | Date | Wed, 21 May 2003 02:35:23 -0700 | From | Andrew Morton <> | Subject | Re: [patch 1/2] vfsmount_lock |
| |
Maneesh Soni <maneesh@in.ibm.com> wrote: > > struct vfsmount *lookup_mnt(struct vfsmount *mnt, struct dentry *dentry) > { > struct list_head * head = mount_hashtable + hash(mnt, dentry); > struct list_head * tmp = head; > - struct vfsmount *p; > + struct vfsmount *p, *found = NULL; > > + spin_lock(&vfsmount_lock); > for (;;) { > tmp = tmp->next; > p = NULL; > if (tmp == head) > break; > p = list_entry(tmp, struct vfsmount, mnt_hash); > - if (p->mnt_parent == mnt && p->mnt_mountpoint == dentry) > + if (p->mnt_parent == mnt && p->mnt_mountpoint == dentry) { > + found = mntget(p); > break; > + } > } > - return p; > + spin_lock(&vfsmount_lock); > + return found; > }
err, how many times do you want to spin that lock?
- 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/
|  |