From 8d69034612b22ad4402377aafad28e553228cc51 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Fri, 4 Apr 2003 01:16:08 -0800 Subject: [PATCH] block: add /sbin/hotplug support for when block devices are created and destroyed. --- drivers/block/genhd.c | 14 +++++++++++++- fs/partitions/check.c | 2 +- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/drivers/block/genhd.c b/drivers/block/genhd.c index 7ce15914b11a7..032739646da96 100644 --- a/drivers/block/genhd.c +++ b/drivers/block/genhd.c @@ -525,9 +525,21 @@ static struct kobj_type ktype_block = { .default_attrs = default_attrs, }; +extern struct kobj_type ktype_part; + +static int block_hotplug_filter(struct kset *kset, struct kobject *kobj) +{ + struct kobj_type *ktype = get_ktype(kobj); + + return ((ktype == &ktype_block) || (ktype == &ktype_part)); +} + +static struct kset_hotplug_ops block_hotplug_ops = { + .filter = block_hotplug_filter, +}; /* declare block_subsys. */ -static decl_subsys(block,&ktype_block); +static decl_subsys(block, &ktype_block, &block_hotplug_ops); struct gendisk *alloc_disk(int minors) diff --git a/fs/partitions/check.c b/fs/partitions/check.c index f84bd3e66ef11..14936cabaf7be 100644 --- a/fs/partitions/check.c +++ b/fs/partitions/check.c @@ -248,7 +248,7 @@ static struct attribute * default_attrs[] = { extern struct subsystem block_subsys; -static struct kobj_type ktype_part = { +struct kobj_type ktype_part = { .default_attrs = default_attrs, .sysfs_ops = &part_sysfs_ops, }; -- 2.53.0