Re: [md PATCH 09/18] md/raid10: stop print_conf from being too verbose.

John Stoffel
2016-06-02T18:47:15Z

NeilBrown> raid10 arrays can usefully be very large. When they are,
NeilBrown> the noise generated by print_conf can over-whelm logs. So
NeilBrown> truncate the listing at 16 devices.

Why is this too noisy and how often does this print_conf() happen?
And why 16 devices? I guess I don't like the magic number of 16 here,
I'd prefer it to be a define, and possibly even something that can by
dynamically changed.

But how big a problem is this really? And what about for big RAID5/6
arrays as well?

Or would it be also good to condence the output of print_conf()
itself?

Of if it's noise, why not just remove it completely? Can this
information be found in /proc/mdstat instead?

Sorry I havent' looked in the code deeply, but this just struck me as
a change that might not be ideal.

Thanks,
John

NeilBrown> Signed-off-by: NeilBrown <neilb@suse.com>
NeilBrown> ---
NeilBrown> drivers/md/raid10.c | 4 +++-
NeilBrown> 1 file changed, 3 insertions(+), 1 deletion(-)

NeilBrown> diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c
NeilBrown> index 61091ab02a4b..5d40612d6219 100644
NeilBrown> --- a/drivers/md/raid10.c
NeilBrown> +++ b/drivers/md/raid10.c
NeilBrown> @@ -1610,7 +1610,7 @@ static void print_conf(struct r10conf *conf)

NeilBrown> /* This is only called with ->reconfix_mutex held, so
NeilBrown> * rcu protection of rdev is not needed */
NeilBrown> - for (i = 0; i < conf->geo.raid_disks; i++) {
NeilBrown> + for (i = 0; i < conf->geo.raid_disks && i < 16; i++) {
NeilBrown> char b[BDEVNAME_SIZE];
NeilBrown> rdev = conf->mirrors[i].rdev;
NeilBrown> if (rdev)
NeilBrown> @@ -1619,6 +1619,8 @@ static void print_conf(struct r10conf *conf)
NeilBrown> !test_bit(Faulty, &rdev->flags),
NeilBrown> bdevname(rdev->bdev,b));
NeilBrown> }
NeilBrown> + if (conf->geo.raid_disks > 16)
NeilBrown> + printk(KERN_DEBUG " remaining devices excluded for brevity\n");
NeilBrown> }

NeilBrown> static void close_sync(struct r10conf *conf)

NeilBrown> --
NeilBrown> To unsubscribe from this list: send the line "unsubscribe linux-raid" in
NeilBrown> the body of a message to majordomo@vger.kernel.org
NeilBrown> More majordomo info at http://vger.kernel.org/majordomo-info.html