linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* misleading error message from raid1d
@ 2010-04-06  7:02 Tim Burgess
  2010-04-07  2:14 ` Neil Brown
  0 siblings, 1 reply; 2+ messages in thread
From: Tim Burgess @ 2010-04-06  7:02 UTC (permalink / raw)
  To: linux-raid

Hi All,

We recently sent some a snippet of error logs to a vendor when
returning a faulty drive, and received 2 replacement drives back
(how's that for service!?) due to them misinterpreting the following
message as an error on sdc (sdb was the drive that actually failed).

Mar 13 01:02:26 mds001 kernel: raid1: sdc2: redirecting sector 3355736
to another mirror

This seems to originate from the following snippet of code:

	if ((disk=read_balance(conf, r1_bio)) == -1) {
        **************
        } else {
				const bool do_sync = bio_rw_flagged(r1_bio->master_bio, BIO_RW_SYNCIO);
				r1_bio->bios[r1_bio->read_disk] =
					mddev->ro ? IO_BLOCKED : NULL;
				r1_bio->read_disk = disk;
				bio_put(bio);
				bio = bio_clone(r1_bio->master_bio, GFP_NOIO);
				r1_bio->bios[r1_bio->read_disk] = bio;
				rdev = conf->mirrors[disk].rdev;
				if (printk_ratelimit())
					printk(KERN_ERR "raid1: %s: redirecting sector %llu to"
					       " another mirror\n",
					       bdevname(rdev->bdev,b),
					       (unsigned long long)r1_bio->sector);


Which as far as I can tell prints the name of the device on which the
request is retried, rather than the failed device.  Is that what we
want?

Cheers,
Tim

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: misleading error message from raid1d
  2010-04-06  7:02 misleading error message from raid1d Tim Burgess
@ 2010-04-07  2:14 ` Neil Brown
  0 siblings, 0 replies; 2+ messages in thread
From: Neil Brown @ 2010-04-07  2:14 UTC (permalink / raw)
  To: Tim Burgess; +Cc: linux-raid

On Tue, 6 Apr 2010 15:02:16 +0800
Tim Burgess <ozburgess@gmail.com> wrote:

> Hi All,
> 
> We recently sent some a snippet of error logs to a vendor when
> returning a faulty drive, and received 2 replacement drives back
> (how's that for service!?) due to them misinterpreting the following
> message as an error on sdc (sdb was the drive that actually failed).
> 
> Mar 13 01:02:26 mds001 kernel: raid1: sdc2: redirecting sector 3355736
> to another mirror
> 
> This seems to originate from the following snippet of code:
> 
> 	if ((disk=read_balance(conf, r1_bio)) == -1) {
>         **************
>         } else {
> 				const bool do_sync = bio_rw_flagged(r1_bio->master_bio, BIO_RW_SYNCIO);
> 				r1_bio->bios[r1_bio->read_disk] =
> 					mddev->ro ? IO_BLOCKED : NULL;
> 				r1_bio->read_disk = disk;
> 				bio_put(bio);
> 				bio = bio_clone(r1_bio->master_bio, GFP_NOIO);
> 				r1_bio->bios[r1_bio->read_disk] = bio;
> 				rdev = conf->mirrors[disk].rdev;
> 				if (printk_ratelimit())
> 					printk(KERN_ERR "raid1: %s: redirecting sector %llu to"
> 					       " another mirror\n",
> 					       bdevname(rdev->bdev,b),
> 					       (unsigned long long)r1_bio->sector);
> 
> 
> Which as far as I can tell prints the name of the device on which the
> request is retried, rather than the failed device.  Is that what we
> want?

Yes, I can see that message is misleading.
As for "what do we want?" I don't really know.  Anything that isn't
misleading is probably fine.  It is tempting to just remove the message.
I don't think it is possible to reliably get the name of the failed drive at
this point - it could possibly have been removed already( though that is
unlikely).

I'll probably just change it to something like:

 raid1: redirecting sector %llu to other mirror: %s

Thanks for the report.
NeilBrown

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2010-04-07  2:14 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-04-06  7:02 misleading error message from raid1d Tim Burgess
2010-04-07  2:14 ` Neil Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).