Bug#418757: Debian Etch: Patch: /proc/scsi/aacraid missing
In message [EMAIL PROTECTED], dann frazier writes: On Wed, Jun 11, 2008 at 04:28:49PM +1200, Ewen McNeill wrote: Amongst other things this prevents using the Dell afacli management tool to monitor/manage the RAID arrays, since it checks for /proc/scsi/aacraid and aborts if [/proc/scsi/aacraid] is not found. [Trivial patch, from Dell engineers] Thanks Ewen. The first step in getting it into Debian would be to make sure it gets upstream. Thanks for the prompt response. I've checked the Linux 2.6.24 kernel source (eg, as in Testing now) and it's not present there. I also emailed the two Dell engineers listed on the original patch and they tell me that the subsystem maintainer rejected their patch due to the move away from using procfs for such information (to using sysfs instead). Apparently Dell got their core management tool updated to use the new interface (by the third party supplier), but it looks like the command line management tool I want to use never got updated. I understand your reluctance to carry a special patch in Debian, but I do note that this appears to be a feature regression from Sarge - Etch as Marcin Owsiany noted 14 months ago (since the /proc interface was present in Sarge and gone in Etch, and the tool seems to have worked with Sarge but doesn't work with Etch, due to changes in the way the compiler handled uninitialised data and the things that needed to be set to make the proc file appear). Perhaps it's now too late to do anything about this. Ewen -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#418757: Debian Etch: Patch: /proc/scsi/aacraid missing
As noted by Marcin Owsiany [EMAIL PROTECTED] last year, with the default Debian Etch kernel, /proc/scsi/aacraid is missing on the Debian Etch kernel, even when the AACRAID driver is loaded and operating. Amongst other things this prevents using the Dell afacli management tool to monitor/manage the RAID arrays, since it checks for /proc/scsi/aacraid and aborts if it is not found. In the link that Marcin Owsiany provided: http://lists.us.dell.com/pipermail/linux-poweredge/2007-January/029281.html is a trivial patch for the aacraid driver which sets the necessary elements in the structure which allow the /proc/scsi/aacraid file to appear. Apparently originally from some Dell Engineers. Would it be possible to have this applied to the Debian Etch kernel at the next point release? (Etch and a half?) It's against 2.6.16 but seems easy enough to sort out for Etch's 2.6.18 kernel. I've included it below to make it easier for you to get at. Ewen -=- cut here -=- From: Patrick Boyd Patrick_Boyd at dell.com, Bill Edwards Bill_Edwards at dell.com The problem that we are having is that on the current version of RedHat Enterprise Linux 5 (2.6.16 kernel) the Adaptec raid management libraries (AFALIB) no longer function. We were able to root cause this to the fact that the /proc/scsi/aacraid directory was missing. This directory is created if two properties are set in the scsi_host_template structure: proc_name and proc_info. However, previous driver version were not setting proc_info and as far as we can tell this was just being set to uninitialized memory which was allowing the directory creation to succeed. Apparently compiler or runtime behavior has changed so that uninitialized entries in this static struct are set to 0. Our solution is to simply create a function and put the function pointer into the struct to restore the original behavior under the new compiler. Signed-off-by: Patrick Boyd Patrick_Boyd at dell.com, Bill Edwards Bill_Edwards at dell.com --- --- linux-2.6.16/drivers/scsi/aacraid/linit.c.orig 2006-08-30 11:53:58.0 -0500 +++ linux-2.6.16/drivers/scsi/aacraid/linit.c 2006-08-30 11:55:27.0 -0500 @@ -782,10 +782,18 @@ static struct file_operations aac_cfg_fo .open = aac_cfg_open, }; +static int aacraid_proc_info(struct Scsi_Host *host, char *buffer, char **start, off_t offset, +int length, int inout) { + return 0; +} + + static struct scsi_host_template aac_driver_template = { .module = THIS_MODULE, .name = AAC, .proc_name = AAC_DRIVERNAME, + .proc_info = aacraid_proc_info, .info = aac_info, .ioctl = aac_ioctl, #ifdef CONFIG_COMPAT -=- cut here -=- -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#418757: Debian Etch: Patch: /proc/scsi/aacraid missing
On Wed, Jun 11, 2008 at 04:28:49PM +1200, Ewen McNeill wrote: As noted by Marcin Owsiany [EMAIL PROTECTED] last year, with the default Debian Etch kernel, /proc/scsi/aacraid is missing on the Debian Etch kernel, even when the AACRAID driver is loaded and operating. Amongst other things this prevents using the Dell afacli management tool to monitor/manage the RAID arrays, since it checks for /proc/scsi/aacraid and aborts if it is not found. In the link that Marcin Owsiany provided: http://lists.us.dell.com/pipermail/linux-poweredge/2007-January/029281.html is a trivial patch for the aacraid driver which sets the necessary elements in the structure which allow the /proc/scsi/aacraid file to appear. Apparently originally from some Dell Engineers. Would it be possible to have this applied to the Debian Etch kernel at the next point release? (Etch and a half?) It's against 2.6.16 but seems easy enough to sort out for Etch's 2.6.18 kernel. I've included it below to make it easier for you to get at. Thanks Ewen. The first step in getting it into Debian would be to make sure it gets upstream. Otherwise, adding it to etch means we either need to maintain the out of tree patch for future releases or drop it and cause a feature regression. Once its upstream it will naturally end up in the queue for a future Debian release and we can consider backporting it to current stable. Ewen -=- cut here -=- From: Patrick Boyd Patrick_Boyd at dell.com, Bill Edwards Bill_Edwards at dell.com The problem that we are having is that on the current version of RedHat Enterprise Linux 5 (2.6.16 kernel) the Adaptec raid management libraries (AFALIB) no longer function. We were able to root cause this to the fact that the /proc/scsi/aacraid directory was missing. This directory is created if two properties are set in the scsi_host_template structure: proc_name and proc_info. However, previous driver version were not setting proc_info and as far as we can tell this was just being set to uninitialized memory which was allowing the directory creation to succeed. Apparently compiler or runtime behavior has changed so that uninitialized entries in this static struct are set to 0. Our solution is to simply create a function and put the function pointer into the struct to restore the original behavior under the new compiler. Signed-off-by: Patrick Boyd Patrick_Boyd at dell.com, Bill Edwards Bill_Edwards at dell.com --- --- linux-2.6.16/drivers/scsi/aacraid/linit.c.orig2006-08-30 11:53:58.0 -0500 +++ linux-2.6.16/drivers/scsi/aacraid/linit.c 2006-08-30 11:55:27.0 -0500 @@ -782,10 +782,18 @@ static struct file_operations aac_cfg_fo .open = aac_cfg_open, }; +static int aacraid_proc_info(struct Scsi_Host *host, char *buffer, char **start, off_t offset, +int length, int inout) { + return 0; +} + + static struct scsi_host_template aac_driver_template = { .module = THIS_MODULE, .name = AAC, .proc_name = AAC_DRIVERNAME, + .proc_info = aacraid_proc_info, .info = aac_info, .ioctl = aac_ioctl, #ifdef CONFIG_COMPAT -=- cut here -=- -- dann frazier -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]