linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Make errors printed from scsi_sysfs_add_sdev() mean something.
@ 2008-12-23 22:19 Michał Mirosław
  2009-01-12 12:30 ` Hannes Reinecke
  0 siblings, 1 reply; 4+ messages in thread
From: Michał Mirosław @ 2008-12-23 22:19 UTC (permalink / raw)
  To: James E.J. Bottomley; +Cc: linux-scsi

This is an updated version of patch I wrote long time ago, but looks like
it didn't get far. Patch against linux-2.6.git. And yes - printk() lines
are longer than 80 chars - it shouldn't matter here (grep is happy ;).

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>

diff --git a/drivers/scsi/scsi_sysfs.c b/drivers/scsi/scsi_sysfs.c
index 93c28f3..7a3389c 100644
--- a/drivers/scsi/scsi_sysfs.c
+++ b/drivers/scsi/scsi_sysfs.c
@@ -872,12 +872,12 @@ int scsi_sysfs_add_sdev(struct scsi_device *sdev)
 	error = device_add(&sdev->sdev_gendev);
 	if (error) {
 		put_device(sdev->sdev_gendev.parent);
-		printk(KERN_INFO "error 1\n");
+		printk(KERN_ERR "sysfs: SCSI device registration failed: %d\n", error);
 		return error;
 	}
 	error = device_add(&sdev->sdev_dev);
 	if (error) {
-		printk(KERN_INFO "error 2\n");
+		printk(KERN_ERR "sysfs: SCSI class device registration failed: %d\n", error);
 		goto clean_device;
 	}
 
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH] Make errors printed from scsi_sysfs_add_sdev() mean something.
  2008-12-23 22:19 [PATCH] Make errors printed from scsi_sysfs_add_sdev() mean something Michał Mirosław
@ 2009-01-12 12:30 ` Hannes Reinecke
  2009-01-12 13:06   ` Stefan Richter
  0 siblings, 1 reply; 4+ messages in thread
From: Hannes Reinecke @ 2009-01-12 12:30 UTC (permalink / raw)
  To: Michał Mirosław; +Cc: James E.J. Bottomley, linux-scsi

Hi Michal,

Michał Mirosław wrote:
> This is an updated version of patch I wrote long time ago, but looks like
> it didn't get far. Patch against linux-2.6.git. And yes - printk() lines
> are longer than 80 chars - it shouldn't matter here (grep is happy ;).
> 
> Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
> 
> diff --git a/drivers/scsi/scsi_sysfs.c b/drivers/scsi/scsi_sysfs.c
> index 93c28f3..7a3389c 100644
> --- a/drivers/scsi/scsi_sysfs.c
> +++ b/drivers/scsi/scsi_sysfs.c
> @@ -872,12 +872,12 @@ int scsi_sysfs_add_sdev(struct scsi_device *sdev)
>  	error = device_add(&sdev->sdev_gendev);
>  	if (error) {
>  		put_device(sdev->sdev_gendev.parent);
> -		printk(KERN_INFO "error 1\n");
> +		printk(KERN_ERR "sysfs: SCSI device registration failed: %d\n", error);
Shouldn't that be sdev_printk()?

>  		return error;
>  	}
>  	error = device_add(&sdev->sdev_dev);
>  	if (error) {
> -		printk(KERN_INFO "error 2\n");
> +		printk(KERN_ERR "sysfs: SCSI class device registration failed: %d\n", error);
Same here ...

Cheers,

Hannes
-- 
Dr. Hannes Reinecke		      zSeries & Storage
hare@suse.de			      +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Markus Rex, HRB 16746 (AG Nürnberg)
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH] Make errors printed from scsi_sysfs_add_sdev() mean something.
  2009-01-12 12:30 ` Hannes Reinecke
@ 2009-01-12 13:06   ` Stefan Richter
  2009-01-12 14:04     ` Hannes Reinecke
  0 siblings, 1 reply; 4+ messages in thread
From: Stefan Richter @ 2009-01-12 13:06 UTC (permalink / raw)
  To: Hannes Reinecke
  Cc: Michał Mirosław, James E.J. Bottomley, linux-scsi

Hannes Reinecke wrote:
> Michał Mirosław wrote:
>> --- a/drivers/scsi/scsi_sysfs.c
>> +++ b/drivers/scsi/scsi_sysfs.c
>> @@ -872,12 +872,12 @@ int scsi_sysfs_add_sdev(struct scsi_device *sdev)
>>  	error = device_add(&sdev->sdev_gendev);
>>  	if (error) {
>>  		put_device(sdev->sdev_gendev.parent);
>> -		printk(KERN_INFO "error 1\n");
>> +		printk(KERN_ERR "sysfs: SCSI device registration failed: %d\n", error);
> Shouldn't that be sdev_printk()?

It seems it shouldn't.  sdev_printk() wants device name and bus ID of
the sdev_gendev.  AFAICS device_add() initializes them, and callers of
device_add() can't be quite sure how far device_add() got before an error.

>>  		return error;
>>  	}
>>  	error = device_add(&sdev->sdev_dev);
>>  	if (error) {
>> -		printk(KERN_INFO "error 2\n");
>> +		printk(KERN_ERR "sysfs: SCSI class device registration failed: %d\n", error);
> Same here ...

At that point, sdev_printk() should work indeed.
-- 
Stefan Richter
-=====-==--= ---= -==--
http://arcgraph.de/sr/
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH] Make errors printed from scsi_sysfs_add_sdev() mean something.
  2009-01-12 13:06   ` Stefan Richter
@ 2009-01-12 14:04     ` Hannes Reinecke
  0 siblings, 0 replies; 4+ messages in thread
From: Hannes Reinecke @ 2009-01-12 14:04 UTC (permalink / raw)
  To: Stefan Richter
  Cc: Michał Mirosław, James E.J. Bottomley, linux-scsi

Hi Stefan,

Stefan Richter wrote:
> Hannes Reinecke wrote:
>> Michał Mirosław wrote:
>>> --- a/drivers/scsi/scsi_sysfs.c
>>> +++ b/drivers/scsi/scsi_sysfs.c
>>> @@ -872,12 +872,12 @@ int scsi_sysfs_add_sdev(struct scsi_device *sdev)
>>>  	error = device_add(&sdev->sdev_gendev);
>>>  	if (error) {
>>>  		put_device(sdev->sdev_gendev.parent);
>>> -		printk(KERN_INFO "error 1\n");
>>> +		printk(KERN_ERR "sysfs: SCSI device registration failed: %d\n", error);
>> Shouldn't that be sdev_printk()?
> 
> It seems it shouldn't.  sdev_printk() wants device name and bus ID of
> the sdev_gendev.  AFAICS device_add() initializes them, and callers of
> device_add() can't be quite sure how far device_add() got before an error.
> 
Hmm. True.

Easiest way would be to remove the printk altogether, as a failure of
device_add() will print out enough warnings as it stands.
To be precise you get something like

------------[ cut here ]------------
WARNING: at fs/sysfs/dir.c:463 sysfs_add_one+0x33/0x3a()
sysfs: duplicate filename '4:0:1:0' can not be created
...
---[ end trace dac6dbc3f072e760 ]---

and

kobject_add_internal failed for 4:0:1:0 with -EEXIST, don't try to register things with the same name in the same directory.
Pid: 2693, comm: scsi_wq_4 Tainted: G        W 2.6.27.10-20090109 #2
...

so we have enough information already.

>>>  		return error;
>>>  	}
>>>  	error = device_add(&sdev->sdev_dev);
>>>  	if (error) {
>>> -		printk(KERN_INFO "error 2\n");
>>> +		printk(KERN_ERR "sysfs: SCSI class device registration failed: %d\n", error);
>> Same here ...
> 
> At that point, sdev_printk() should work indeed.
But it'll spawn a similar error as above, so we
could remove it here, too.

Cheers,

Hannes
-- 
Dr. Hannes Reinecke		      zSeries & Storage
hare@suse.de			      +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Markus Rex, HRB 16746 (AG Nürnberg)
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

end of thread, other threads:[~2009-01-12 14:04 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-12-23 22:19 [PATCH] Make errors printed from scsi_sysfs_add_sdev() mean something Michał Mirosław
2009-01-12 12:30 ` Hannes Reinecke
2009-01-12 13:06   ` Stefan Richter
2009-01-12 14:04     ` Hannes Reinecke

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).