With sysfs_get_dentry() simplified, there's no user of SYSFS_FLAG_REMOVED left. Kill it.
Signed-off-by: Tejun Heo <[EMAIL PROTECTED]> --- This patch reverts driver/sysfs-kill-sysfs_flag_removed.patch and thus can be removed together with it. fs/sysfs/dir.c | 5 ++++- include/linux/sysfs.h | 1 + 2 files changed, 5 insertions(+), 1 deletions(-) diff --git a/fs/sysfs/dir.c b/fs/sysfs/dir.c index a493c6f..da4bb66 100644 --- a/fs/sysfs/dir.c +++ b/fs/sysfs/dir.c @@ -222,7 +222,7 @@ static void sysfs_deactivate(struct sysfs_dirent *sd) DECLARE_COMPLETION_ONSTACK(wait); int v; - BUG_ON(sd->s_sibling); + BUG_ON(sd->s_sibling || !(sd->s_flags & SYSFS_FLAG_REMOVED)); sd->s_sibling = (void *)&wait; /* atomic_add_return() is a mb(), put_active() will always see @@ -462,8 +462,11 @@ int sysfs_add_one(struct sysfs_addrm_cxt *acxt, struct sysfs_dirent *sd) */ void sysfs_remove_one(struct sysfs_addrm_cxt *acxt, struct sysfs_dirent *sd) { + BUG_ON(sd->s_flags & SYSFS_FLAG_REMOVED); + sysfs_unlink_sibling(sd); + sd->s_flags |= SYSFS_FLAG_REMOVED; sd->s_sibling = acxt->removed; acxt->removed = sd; diff --git a/include/linux/sysfs.h b/include/linux/sysfs.h index 82c31b2..c16e4c5 100644 --- a/include/linux/sysfs.h +++ b/include/linux/sysfs.h @@ -83,6 +83,7 @@ struct sysfs_ops { #define SYSFS_COPY_NAME (SYSFS_DIR | SYSFS_KOBJ_LINK) #define SYSFS_FLAG_MASK ~SYSFS_TYPE_MASK +#define SYSFS_FLAG_REMOVED 0x0100 #ifdef CONFIG_SYSFS -- 1.5.0.3 - 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/