Re: [patch 1/2] vfsmount_lock

Dipankar Sarma
2003-05-21T09:37:20Z

On Wed, May 21, 2003 at 02:35:23AM -0700, Andrew Morton wrote:
> Maneesh Soni <maneesh@in.ibm.com> wrote:
> >
> > struct vfsmount *lookup_mnt(struct vfsmount *mnt, struct dentry *dentry)
> > {
> > + 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?

None, if you apply the second patch ;-)

Thanks
Dipankar