Skip to content

Commit

Permalink
[PATCH] remove mount/umount uevents from superblock handling
Browse files Browse the repository at this point in the history
The names of these events have been confusing from the beginning
on, as they have been more like claim/release events. We needed these
events for noticing HAL if storage devices have been mounted.

Thanks to Al, we have the proper solution now and can poll()
/proc/mounts instead to get notfied about mount tree changes.

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  • Loading branch information
Kay Sievers authored and Greg Kroah-Hartman committed Jan 5, 2006
1 parent 0f76e5a commit 033b96f
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 22 deletions.
15 changes: 1 addition & 14 deletions fs/super.c
Original file line number Diff line number Diff line change
Expand Up @@ -665,16 +665,6 @@ static int test_bdev_super(struct super_block *s, void *data)
return (void *)s->s_bdev == data;
}

static void bdev_uevent(struct block_device *bdev, enum kobject_action action)
{
if (bdev->bd_disk) {
if (bdev->bd_part)
kobject_uevent(&bdev->bd_part->kobj, action, NULL);
else
kobject_uevent(&bdev->bd_disk->kobj, action, NULL);
}
}

struct super_block *get_sb_bdev(struct file_system_type *fs_type,
int flags, const char *dev_name, void *data,
int (*fill_super)(struct super_block *, void *, int))
Expand Down Expand Up @@ -717,10 +707,8 @@ struct super_block *get_sb_bdev(struct file_system_type *fs_type,
up_write(&s->s_umount);
deactivate_super(s);
s = ERR_PTR(error);
} else {
} else
s->s_flags |= MS_ACTIVE;
bdev_uevent(bdev, KOBJ_MOUNT);
}
}

return s;
Expand All @@ -736,7 +724,6 @@ void kill_block_super(struct super_block *sb)
{
struct block_device *bdev = sb->s_bdev;

bdev_uevent(bdev, KOBJ_UMOUNT);
generic_shutdown_super(sb);
sync_blockdev(bdev);
close_bdev_excl(bdev);
Expand Down
6 changes: 2 additions & 4 deletions include/linux/kobject.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,8 @@ enum kobject_action {
KOBJ_ADD = (__force kobject_action_t) 0x01, /* add event, for hotplug */
KOBJ_REMOVE = (__force kobject_action_t) 0x02, /* remove event, for hotplug */
KOBJ_CHANGE = (__force kobject_action_t) 0x03, /* a sysfs attribute file has changed */
KOBJ_MOUNT = (__force kobject_action_t) 0x04, /* mount event for block devices */
KOBJ_UMOUNT = (__force kobject_action_t) 0x05, /* umount event for block devices */
KOBJ_OFFLINE = (__force kobject_action_t) 0x06, /* offline event for hotplug devices */
KOBJ_ONLINE = (__force kobject_action_t) 0x07, /* online event for hotplug devices */
KOBJ_OFFLINE = (__force kobject_action_t) 0x04, /* offline event for hotplug devices */
KOBJ_ONLINE = (__force kobject_action_t) 0x05, /* online event for hotplug devices */
};

struct kobject {
Expand Down
4 changes: 0 additions & 4 deletions lib/kobject_uevent.c
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,6 @@ static char *action_to_string(enum kobject_action action)
return "remove";
case KOBJ_CHANGE:
return "change";
case KOBJ_MOUNT:
return "mount";
case KOBJ_UMOUNT:
return "umount";
case KOBJ_OFFLINE:
return "offline";
case KOBJ_ONLINE:
Expand Down

0 comments on commit 033b96f

Please sign in to comment.