diff options
| -rw-r--r-- | drivers/md/md.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c index 4db4e4146a35..eb0c3b576d7d 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c | |||
| @@ -6950,9 +6950,6 @@ static int md_seq_show(struct seq_file *seq, void *v) | |||
| 6950 | return 0; | 6950 | return 0; |
| 6951 | } | 6951 | } |
| 6952 | 6952 | ||
| 6953 | if (mddev_lock(mddev) < 0) | ||
| 6954 | return -EINTR; | ||
| 6955 | |||
| 6956 | spin_lock(&mddev->lock); | 6953 | spin_lock(&mddev->lock); |
| 6957 | if (mddev->pers || mddev->raid_disks || !list_empty(&mddev->disks)) { | 6954 | if (mddev->pers || mddev->raid_disks || !list_empty(&mddev->disks)) { |
| 6958 | seq_printf(seq, "%s : %sactive", mdname(mddev), | 6955 | seq_printf(seq, "%s : %sactive", mdname(mddev), |
| @@ -6966,7 +6963,8 @@ static int md_seq_show(struct seq_file *seq, void *v) | |||
| 6966 | } | 6963 | } |
| 6967 | 6964 | ||
| 6968 | sectors = 0; | 6965 | sectors = 0; |
| 6969 | rdev_for_each(rdev, mddev) { | 6966 | rcu_read_lock(); |
| 6967 | rdev_for_each_rcu(rdev, mddev) { | ||
| 6970 | char b[BDEVNAME_SIZE]; | 6968 | char b[BDEVNAME_SIZE]; |
| 6971 | seq_printf(seq, " %s[%d]", | 6969 | seq_printf(seq, " %s[%d]", |
| 6972 | bdevname(rdev->bdev,b), rdev->desc_nr); | 6970 | bdevname(rdev->bdev,b), rdev->desc_nr); |
| @@ -6982,6 +6980,7 @@ static int md_seq_show(struct seq_file *seq, void *v) | |||
| 6982 | seq_printf(seq, "(R)"); | 6980 | seq_printf(seq, "(R)"); |
| 6983 | sectors += rdev->sectors; | 6981 | sectors += rdev->sectors; |
| 6984 | } | 6982 | } |
| 6983 | rcu_read_unlock(); | ||
| 6985 | 6984 | ||
| 6986 | if (!list_empty(&mddev->disks)) { | 6985 | if (!list_empty(&mddev->disks)) { |
| 6987 | if (mddev->pers) | 6986 | if (mddev->pers) |
| @@ -7025,7 +7024,6 @@ static int md_seq_show(struct seq_file *seq, void *v) | |||
| 7025 | seq_printf(seq, "\n"); | 7024 | seq_printf(seq, "\n"); |
| 7026 | } | 7025 | } |
| 7027 | spin_unlock(&mddev->lock); | 7026 | spin_unlock(&mddev->lock); |
| 7028 | mddev_unlock(mddev); | ||
| 7029 | 7027 | ||
| 7030 | return 0; | 7028 | return 0; |
| 7031 | } | 7029 | } |
