From 33524030200c443149767557cd9a10e9bf3db0ac Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Tue, 8 Nov 2005 21:39:40 -0800 Subject: [PATCH] --- yaml --- r: 13503 b: refs/heads/master c: 411036fa1924f5e5b0f7f9d04ae5d8cdc72fb839 h: refs/heads/master i: 13501: 5c53addceb0dcd4c0a23fedbf189e892c585cb16 13499: caec3430825ab17d9cc43e43d8f7dff847e08f79 13495: f39b90e66b146510da0e31a393e5852544057a86 13487: f92f315f20c5fbf81e7bbaa3ade16b25074fa1e1 13471: 0b31cc2b7e0f17d02dc6ef6bcb1c5154a9a18e30 13439: 93e7cd16379b4a4092dfcab8b85b85242fb68e72 v: v3 --- [refs] | 2 +- trunk/drivers/md/md.c | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 33885da37052..451696e071db 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 96de1e663cda65ba9275afb1bc007f34e5068ba1 +refs/heads/master: 411036fa1924f5e5b0f7f9d04ae5d8cdc72fb839 diff --git a/trunk/drivers/md/md.c b/trunk/drivers/md/md.c index b2d8813ed716..292dad31d5e5 100644 --- a/trunk/drivers/md/md.c +++ b/trunk/drivers/md/md.c @@ -1807,10 +1807,19 @@ md_mismatches = __ATTR_RO(mismatch_cnt); static struct attribute *md_default_attrs[] = { &md_level.attr, &md_raid_disks.attr, + NULL, +}; + +static struct attribute *md_redundancy_attrs[] = { &md_scan_mode.attr, &md_mismatches.attr, NULL, }; +static struct attribute_group md_redundancy_group = { + .name = NULL, + .attrs = md_redundancy_attrs, +}; + static ssize_t md_attr_show(struct kobject *kobj, struct attribute *attr, char *page) @@ -2047,6 +2056,8 @@ static int do_md_run(mddev_t * mddev) bitmap_destroy(mddev); return err; } + if (mddev->pers->sync_request) + sysfs_create_group(&mddev->kobj, &md_redundancy_group); atomic_set(&mddev->writes_pending,0); mddev->safemode = 0; mddev->safemode_timer.function = md_safemode_timeout; @@ -2155,6 +2166,9 @@ static int do_md_stop(mddev_t * mddev, int ro) set_disk_ro(disk, 0); blk_queue_make_request(mddev->queue, md_fail_request); mddev->pers->stop(mddev); + if (mddev->pers->sync_request) + sysfs_remove_group(&mddev->kobj, &md_redundancy_group); + module_put(mddev->pers->owner); mddev->pers = NULL; if (mddev->ro)