* RE: [BK-PATCH] 3w-9xxx: proc interface
@ 2004-07-07 18:27 Adam Radford
0 siblings, 0 replies; 4+ messages in thread
From: Adam Radford @ 2004-07-07 18:27 UTC (permalink / raw)
To: Ricky Beam, Christoph Hellwig; +Cc: Linux SCSI List
Rick,
There should be a beta version of 3dm2 & tw_cli that will work with the in-kernel
3w-9xxx driver on the 3ware website sometime this week.
I'd rather not re-add deprecated interfaces.
-Adam
-----Original Message-----
From: Ricky Beam [mailto:jfbeam@bluetronic.net]
Sent: Friday, July 02, 2004 11:42 AM
To: Christoph Hellwig
Cc: Adam Radford; Linux SCSI List
Subject: Re: [BK-PATCH] 3w-9xxx: proc interface
On Fri, 2 Jul 2004, Christoph Hellwig wrote:
>On Fri, Jul 02, 2004 at 12:08:23PM -0400, Ricky Beam wrote:
>> 3dm2 (the currently available one anyway) needs /proc/scsi/3w-9xxx to
>> discover any controllers. The current in-kernel driver doesn't contain any
>> /proc/scsi support. The attached patch restores the interface.
>
>I'd rather wait for a new 3dm2 release instead of adding deprecated interfaces.
>Adam, any schedule for a new release?
Well, I'm not the only one who cannot monitor/control their array with the
current in-kernel driver. I don't care if the proc interface makes it
back into the kernel; the systems I assemble with a 9500 will have the
proc interface restored until I have a 3dm2 in hand that doesn't need it.
Having a non-functioning 3dm2 is a major problem in my book. (technically,
not have a firmware update interface in the kernel's driver is also a
concern.)
Locking the door before you have a key to get back in is a bad idea.
--Ricky
^ permalink raw reply [flat|nested] 4+ messages in thread
* [BK-PATCH] 3w-9xxx: proc interface
@ 2004-07-02 16:08 Ricky Beam
2004-07-02 18:35 ` Christoph Hellwig
0 siblings, 1 reply; 4+ messages in thread
From: Ricky Beam @ 2004-07-02 16:08 UTC (permalink / raw)
To: Adam Radford; +Cc: Linux SCSI List
[-- Attachment #1: Type: TEXT/PLAIN, Size: 220 bytes --]
3dm2 (the currently available one anyway) needs /proc/scsi/3w-9xxx to
discover any controllers. The current in-kernel driver doesn't contain any
/proc/scsi support. The attached patch restores the interface.
--Ricky
[-- Attachment #2: Type: TEXT/PLAIN, Size: 4962 bytes --]
This BitKeeper patch contains the following changesets:
1.1411
# User: jfbeam
# Host: xactional.com
# Root: /opt/kernel/src/bk-linux-2.6
# Patch vers: 1.3
# Patch type: REGULAR
== ChangeSet ==
torvalds@athlon.transmeta.com|ChangeSet|20020205173056|16047|c1d11a41ed024864
jfbeam@xactional.com|ChangeSet|20040702152713|32646
D 1.1411 04/07/02 11:32:05-04:00 jfbeam@xactional.com +1 -0
B torvalds@athlon.transmeta.com|ChangeSet|20020205173056|16047|c1d11a41ed024864
C
c [PATCH] restore 3w-9xxx legacy /proc/scsi interface
c
c - 3dm2 depends on the proc interface to discover adapters
K 32774
P ChangeSet
------------------------------------------------
0a0
> aradford@amcc.com[jejb]|drivers/scsi/3w-9xxx.c|20040604003829|14232|181b5ad9bdb5ae05 jfbeam@xactional.com|drivers/scsi/3w-9xxx.c|20040702153155|56598
== drivers/scsi/3w-9xxx.c ==
aradford@amcc.com[jejb]|drivers/scsi/3w-9xxx.c|20040604003829|14232|181b5ad9bdb5ae05
akpm@osdl.org[jejb]|drivers/scsi/3w-9xxx.c|20040604025344|33526
D 1.4 04/07/02 11:31:55-04:00 jfbeam@xactional.com +98 -0
B torvalds@athlon.transmeta.com|ChangeSet|20020205173056|16047|c1d11a41ed024864
C
c [PATCH] restore legacy /proc/scsi interface
K 56598
O -rw-rw-r--
P drivers/scsi/3w-9xxx.c
------------------------------------------------
I117 7
#ifdef CONFIG_SCSI_PROC_FS
/* Support /proc/scsi/3w-9xxx/... :: Necessary for 3dm2 */
static int twa_copy_info(TW_Info *info, char *fmt, ...);
static void twa_copy_mem_info(TW_Info *info, char *data, int len);
static int twa_scsi_proc_info(struct Scsi_Host *shost, char *buffer, char **start, off_t offset, int length, int inout);
#endif /* CONFIG_SCSI_PROC_FS */
\
I1719 87
#ifdef CONFIG_SCSI_PROC_FS
/* This function is called by twa_scsi_proc_info */
static void twa_copy_mem_info(TW_Info *info, char *data, int len)
{
if (info->position + len > info->length)
len = info->length - info->position;
\
if (info->position + len < info->offset) {
info->position += len;
return;
}
if (info->position < info->offset) {
data += (info->offset - info->position);
len -= (info->offset - info->position);
}
if (len > 0) {
memcpy(info->buffer + info->position, data, len);
info->position += len;
}
} /* End twa_copy_mem_info() */
\
/* This function is called by twa_scsi_proc_info */
static int twa_copy_info(TW_Info *info, char *fmt, ...)
{
va_list args;
char buf[81];
int len;
\
va_start(args, fmt);
len = vsprintf(buf, fmt, args);
va_end(args);
twa_copy_mem_info(info, buf, len);
\
return len;
} /* End twa_copy_info() */
\
/* This function handles input and output from /proc/scsi/3w-9xxx/x */
static int twa_scsi_proc_info(struct Scsi_Host *shost, char *buffer, char **start, off_t offset, int length, int inout)
{
TW_Device_Extension *tw_dev = NULL;
TW_Info info;
unsigned int i;
int retval = -EINVAL;
\
/* Find the correct device extension */
for (i = 0; i < twa_device_extension_count; i++)
if (twa_device_extension_list[i]->host->host_no == shost->host_no)
tw_dev = twa_device_extension_list[i];
if (!tw_dev) {
TW_PRINTK(tw_dev->host, TW_DRIVER, 0x2c, "No device extension for proc operation");
goto out;
}
\
info.buffer = buffer;
info.length = length;
info.offset = offset;
info.position = 0;
\
if (!inout) {
/* Read */
if (start) {
*start = buffer;
}
twa_copy_info(&info, "scsi%d: 3ware 9000 Storage Controller\n", shost->host_no);
twa_copy_info(&info, "Driver version: %s\n", twa_driver_version);
twa_copy_info(&info, "Current commands posted: %4d\n", tw_dev->posted_request_count);
twa_copy_info(&info, "Max commands posted: %4d\n", tw_dev->max_posted_request_count);
twa_copy_info(&info, "Current pending commands: %4d\n", tw_dev->pending_request_count);
twa_copy_info(&info, "Max pending commands: %4d\n", tw_dev->max_pending_request_count);
twa_copy_info(&info, "Last sgl length: %4d\n", tw_dev->sgl_entries);
twa_copy_info(&info, "Max sgl length: %4d\n", tw_dev->max_sgl_entries);
twa_copy_info(&info, "Last sector count: %4d\n", tw_dev->sector_count);
twa_copy_info(&info, "Max sector count: %4d\n", tw_dev->max_sector_count);
twa_copy_info(&info, "SCSI Host Resets: %4d\n", tw_dev->num_resets);
twa_copy_info(&info, "SCSI Aborts/Timeouts: %4d\n", tw_dev->num_aborts);
twa_copy_info(&info, "AEN's: %4d\n", tw_dev->aen_count);
}
if (info.position > info.offset) {
retval = info.position - info.offset;
} else {
retval = 0;
}
out:
return retval;
} /* End twa_scsi_proc_info() */
#endif /* CONFIG_SCSI_PROC_FS */
\
I1944 4
#ifdef CONFIG_SCSI_PROC_FS
.proc_name = "3w-9xxx",
.proc_info = twa_scsi_proc_info,
#endif /* CONFIG_SCSI_PROC_FS */
# Patch checksum=43f8b553
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [BK-PATCH] 3w-9xxx: proc interface
2004-07-02 16:08 Ricky Beam
@ 2004-07-02 18:35 ` Christoph Hellwig
2004-07-02 18:42 ` Ricky Beam
0 siblings, 1 reply; 4+ messages in thread
From: Christoph Hellwig @ 2004-07-02 18:35 UTC (permalink / raw)
To: Ricky Beam; +Cc: Adam Radford, Linux SCSI List
On Fri, Jul 02, 2004 at 12:08:23PM -0400, Ricky Beam wrote:
> 3dm2 (the currently available one anyway) needs /proc/scsi/3w-9xxx to
> discover any controllers. The current in-kernel driver doesn't contain any
> /proc/scsi support. The attached patch restores the interface.
I'd rather wait for a new 3dm2 release instead of adding deprecated interfaces.
Adam, any schedule for a new release?
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [BK-PATCH] 3w-9xxx: proc interface
2004-07-02 18:35 ` Christoph Hellwig
@ 2004-07-02 18:42 ` Ricky Beam
0 siblings, 0 replies; 4+ messages in thread
From: Ricky Beam @ 2004-07-02 18:42 UTC (permalink / raw)
To: Christoph Hellwig; +Cc: Adam Radford, Linux SCSI List
On Fri, 2 Jul 2004, Christoph Hellwig wrote:
>On Fri, Jul 02, 2004 at 12:08:23PM -0400, Ricky Beam wrote:
>> 3dm2 (the currently available one anyway) needs /proc/scsi/3w-9xxx to
>> discover any controllers. The current in-kernel driver doesn't contain any
>> /proc/scsi support. The attached patch restores the interface.
>
>I'd rather wait for a new 3dm2 release instead of adding deprecated interfaces.
>Adam, any schedule for a new release?
Well, I'm not the only one who cannot monitor/control their array with the
current in-kernel driver. I don't care if the proc interface makes it
back into the kernel; the systems I assemble with a 9500 will have the
proc interface restored until I have a 3dm2 in hand that doesn't need it.
Having a non-functioning 3dm2 is a major problem in my book. (technically,
not have a firmware update interface in the kernel's driver is also a
concern.)
Locking the door before you have a key to get back in is a bad idea.
--Ricky
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2004-07-07 18:28 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-07-07 18:27 [BK-PATCH] 3w-9xxx: proc interface Adam Radford
-- strict thread matches above, loose matches on Subject: below --
2004-07-02 16:08 Ricky Beam
2004-07-02 18:35 ` Christoph Hellwig
2004-07-02 18:42 ` Ricky Beam
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox