* [PATCH] fix rescan warning
@ 2003-03-17 15:53 Christoph Hellwig
2003-03-18 1:18 ` Douglas Gilbert
0 siblings, 1 reply; 3+ messages in thread
From: Christoph Hellwig @ 2003-03-17 15:53 UTC (permalink / raw)
To: James.Bottomley; +Cc: linux-scsi
The prototype for scsi_rescan_device was missing and once added it's
caller doesn't compile anymore because it expects a return value..
--- 1.67/drivers/scsi/scsi.h Sat Mar 15 01:35:26 2003
+++ edited/drivers/scsi/scsi.h Mon Mar 17 16:04:49 2003
@@ -442,6 +442,7 @@
extern int scsi_retry_command(Scsi_Cmnd *);
extern int scsi_attach_device(struct scsi_device *);
extern void scsi_detach_device(struct scsi_device *);
+extern void scsi_rescan_device(struct scsi_device *);
extern int scsi_get_device_flags(unsigned char *vendor, unsigned char *model);
/*
--- 1.8/drivers/scsi/scsi_sysfs.c Tue Mar 4 10:15:42 2003
+++ edited/drivers/scsi/scsi_sysfs.c Mon Mar 17 16:30:31 2003
@@ -275,12 +275,8 @@
static ssize_t
store_rescan_field (struct device *dev, const char *buf, size_t count)
{
- int ret = ENODEV;
- struct scsi_device *sdev;
- sdev = to_scsi_device(dev);
- if (sdev)
- ret = scsi_rescan_device(sdev);
- return ret;
+ scsi_rescan_device(to_scsi_device(dev));
+ return 0;
}
static DEVICE_ATTR(rescan, S_IRUGO | S_IWUSR, show_rescan_field, store_rescan_field)
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] fix rescan warning
2003-03-17 15:53 [PATCH] fix rescan warning Christoph Hellwig
@ 2003-03-18 1:18 ` Douglas Gilbert
2003-03-18 8:13 ` Christoph Hellwig
0 siblings, 1 reply; 3+ messages in thread
From: Douglas Gilbert @ 2003-03-18 1:18 UTC (permalink / raw)
To: Christoph Hellwig; +Cc: linux-scsi
Christoph Hellwig wrote:
> The prototype for scsi_rescan_device was missing and once added it's
> caller doesn't compile anymore because it expects a return value..
>
>
> --- 1.67/drivers/scsi/scsi.h Sat Mar 15 01:35:26 2003
> +++ edited/drivers/scsi/scsi.h Mon Mar 17 16:04:49 2003
> @@ -442,6 +442,7 @@
> extern int scsi_retry_command(Scsi_Cmnd *);
> extern int scsi_attach_device(struct scsi_device *);
> extern void scsi_detach_device(struct scsi_device *);
> +extern void scsi_rescan_device(struct scsi_device *);
> extern int scsi_get_device_flags(unsigned char *vendor, unsigned char *model);
>
> /*
> --- 1.8/drivers/scsi/scsi_sysfs.c Tue Mar 4 10:15:42 2003
> +++ edited/drivers/scsi/scsi_sysfs.c Mon Mar 17 16:30:31 2003
> @@ -275,12 +275,8 @@
> static ssize_t
> store_rescan_field (struct device *dev, const char *buf, size_t count)
> {
> - int ret = ENODEV;
> - struct scsi_device *sdev;
> - sdev = to_scsi_device(dev);
> - if (sdev)
> - ret = scsi_rescan_device(sdev);
> - return ret;
> + scsi_rescan_device(to_scsi_device(dev));
> + return 0;
> }
>
> static DEVICE_ATTR(rescan, S_IRUGO | S_IWUSR, show_rescan_field, store_rescan_field)
> -
Christoph,
How does this work from a users point of view?
Something like:
# cd /sys/bus/scsi/devices/2:0:0:0
# echo "anything_I_like" > rescan
A sysfs store() is meant to return the number of
bytes consumed. In that case shouldn't the last
active line of the patch be "return count;".
How does rescan help us? ...
- a device at the same toplogical address changing its
INQUIRY or READ CAPACITY response
- attempt a offline to online transition
- if the device could be no longer there so it
would be equivalent to
"echo 'scsi remove-single-device h c t l' > /proc/scsi/scsi
in that case.
When we get "real" scsi_host nodes in sysfs (i.e. with an
instance (not a pointer) of struct device in struct scsi_host)
then perhaps we can put a "scan" node in there to perform
a bus (re-)scan.
Doug Gilbert
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] fix rescan warning
2003-03-18 1:18 ` Douglas Gilbert
@ 2003-03-18 8:13 ` Christoph Hellwig
0 siblings, 0 replies; 3+ messages in thread
From: Christoph Hellwig @ 2003-03-18 8:13 UTC (permalink / raw)
To: Douglas Gilbert; +Cc: Christoph Hellwig, linux-scsi
On Tue, Mar 18, 2003 at 11:18:42AM +1000, Douglas Gilbert wrote:
> Christoph,
> How does this work from a users point of view?
> Something like:
> # cd /sys/bus/scsi/devices/2:0:0:0
> # echo "anything_I_like" > rescan
I think that's how it's supposed to work - it's not my code though
and I haven't tested it.
> A sysfs store() is meant to return the number of
> bytes consumed. In that case shouldn't the last
> active line of the patch be "return count;".
I think you're right.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2003-03-18 8:13 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-03-17 15:53 [PATCH] fix rescan warning Christoph Hellwig
2003-03-18 1:18 ` Douglas Gilbert
2003-03-18 8:13 ` Christoph Hellwig
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox