* [PATCH] fix scsi add-single-device
@ 2003-01-26 18:00 James Bottomley
2003-01-27 8:15 ` Mike Anderson
0 siblings, 1 reply; 3+ messages in thread
From: James Bottomley @ 2003-01-26 18:00 UTC (permalink / raw)
To: linux-scsi
[-- Attachment #1: Type: text/plain, Size: 142 bytes --]
There was a logic typo in the abstraction of scsi_add_single_device()
that meant it could never work.
The attached patch fixes it.
James
[-- Attachment #2: Type: text/plain, Size: 1102 bytes --]
# This is a BitKeeper generated patch for the following project:
# Project Name: Linux kernel tree
# This patch format is intended for GNU patch command version 2.5 or higher.
# This patch includes the following deltas:
# ChangeSet 1.958 -> 1.959
# drivers/scsi/scsi_scan.c 1.52 -> 1.53
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 03/01/26 jejb@mulgrave.(none) 1.959
# [SCSI] make echo scsi add-single-device x x x x > /proc/scsi/scsi work again
#
# Correct the logic error making it fail
# --------------------------------------------
#
diff -Nru a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c
--- a/drivers/scsi/scsi_scan.c Sun Jan 26 11:58:46 2003
+++ b/drivers/scsi/scsi_scan.c Sun Jan 26 11:58:46 2003
@@ -1758,7 +1758,7 @@
shost = scsi_host_hn_get(host);
if (!shost)
return -ENODEV;
- if(scsi_find_device(shost, channel, id, lun) != NULL)
+ if(scsi_find_device(shost, channel, id, lun) == NULL)
goto out;
if (scsi_probe_and_add_lun(shost, NULL, channel, id, lun, NULL) ==
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] fix scsi add-single-device
2003-01-26 18:00 [PATCH] fix scsi add-single-device James Bottomley
@ 2003-01-27 8:15 ` Mike Anderson
2003-01-27 16:07 ` James Bottomley
0 siblings, 1 reply; 3+ messages in thread
From: Mike Anderson @ 2003-01-27 8:15 UTC (permalink / raw)
To: James Bottomley; +Cc: linux-scsi
James Bottomley [James.Bottomley@steeleye.com] wrote:
> diff -Nru a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c
> --- a/drivers/scsi/scsi_scan.c Sun Jan 26 11:58:46 2003
> +++ b/drivers/scsi/scsi_scan.c Sun Jan 26 11:58:46 2003
> @@ -1758,7 +1758,7 @@
> shost = scsi_host_hn_get(host);
> if (!shost)
> return -ENODEV;
> - if(scsi_find_device(shost, channel, id, lun) != NULL)
> + if(scsi_find_device(shost, channel, id, lun) == NULL)
> goto out;
The previous condition seemed to be correct as you want to exit if
scsi_find_device finds a scsi_device at the nexus you are trying to add.
The patch below fixed the interface for me. Though I only tested in
with scsi_debug under UML YMMV.
-andmike
--
Michael Anderson
andmike@us.ibm.com
hosts.h | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
------
--- 1.48/drivers/scsi/hosts.h Fri Jan 10 13:13:38 2003
+++ edited/drivers/scsi/hosts.h Mon Jan 27 00:02:23 2003
@@ -605,8 +605,8 @@
list_for_each_entry (sdev, &shost->my_devices, siblings)
if (sdev->channel == channel && sdev->id == pun
&& sdev->lun ==lun)
- break;
- return sdev;
+ return sdev;
+ return NULL;
}
/*
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH] fix scsi add-single-device
2003-01-27 8:15 ` Mike Anderson
@ 2003-01-27 16:07 ` James Bottomley
0 siblings, 0 replies; 3+ messages in thread
From: James Bottomley @ 2003-01-27 16:07 UTC (permalink / raw)
To: Mike Anderson; +Cc: linux-scsi
On Mon, 2003-01-27 at 02:15, Mike Anderson wrote:
> James Bottomley [James.Bottomley@steeleye.com] wrote:
> > diff -Nru a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c
> > --- a/drivers/scsi/scsi_scan.c Sun Jan 26 11:58:46 2003
> > +++ b/drivers/scsi/scsi_scan.c Sun Jan 26 11:58:46 2003
> > @@ -1758,7 +1758,7 @@
> > shost = scsi_host_hn_get(host);
> > if (!shost)
> > return -ENODEV;
> > - if(scsi_find_device(shost, channel, id, lun) != NULL)
> > + if(scsi_find_device(shost, channel, id, lun) == NULL)
> > goto out;
>
> The previous condition seemed to be correct as you want to exit if
> scsi_find_device finds a scsi_device at the nexus you are trying to add.
>
> The patch below fixed the interface for me. Though I only tested in
> with scsi_debug under UML YMMV.
Yes, sorry (long week last week). It is indeed the semantics of
scsi_find_device() that are broken.
Thanks,
James
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2003-01-27 16:07 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-01-26 18:00 [PATCH] fix scsi add-single-device James Bottomley
2003-01-27 8:15 ` Mike Anderson
2003-01-27 16:07 ` James Bottomley
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox