Messages in this thread | | | Subject | Re: [PATCH] s390 (2/19): common i/o layer. | From | "Martin Schwidefsky" <> | Date | Fri, 26 Sep 2003 11:36:53 +0200 |
| |
> > +static inline void > > +__ccwgroup_remove_symlinks(struct ccwgroup_device *gdev) > > +{ > > + int i; > > + char str[8]; > > + > > + for (i = 0; i < gdev->count; i++) { > > + sprintf(str, "cdev%d", i); > > + sysfs_remove_link(&gdev->dev.kobj, str); > > + /* Hack: Make sure we act on still valid subdirs. */ > > + if (atomic_read(&gdev->cdev[i] ->dev.kobj.dentry->d_count)) > > + sysfs_remove_link(&gdev->cdev[i] ->dev.kobj, > > + "group_device"); > > + } > > This looks like you have a bad refcounting problem somewhere. I'd rather > see it fixed than hacked around..
Now that you point this out, this really does look suspicious. Either the link needs to get remove or it doesn't. If we have to remove it then we need a refcount on the group device so that we can safely do it. I'll hit the apropriate developer.
blue skies, Martin
- 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/
| |