Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > 89877e42827f16fa5f86b1df0c2860b1 > files > 2147

kernel-2.6.18-128.1.10.el5.src.rpm

From: Janice M. Girouard <jgirouar@redhat.com>
Subject: [RHEL5.0 PPC PATCH] 210239: Empty /sys/class/scsi_host/hostX/config  file
Date: Mon, 18 Dec 2006 19:15:59 -0500 (Eastern Standard Time)
Bugzilla: 210239
Message-Id: <Pine.WNT.4.64.0612181913240.2100@IBM-3MTQI3AXJFW>
Changelog: scsi: Empty /sys/class/scsi_host/hostX/config  file



RHBZ#: 210239
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=210239

Description:
------------
the /sys/class/scsi_host/hostX/config file and find it is empty when the 
buffer size is less than 64k. 

this patch affects the ppc specific file drivers/scsi/ibmvscsi/ibmvscsi.c

RHEL Version Found:
-------------------
RHEL 5.0

Upstream Status:
----------------
This patch has been posted upstream:
http://marc.theaimsgroup.com/?l=linux-scsi&m=116562209626200&w=2

Test Status:
------------
This patch was tested by Linda Xie of IBM and builds cleanly against 
kernel-2.6.18-1.2839.

Proposed Patch:
----------------
Please review and ACK for RHEL  5.0.

--- linux-2.6.17.ppc64/drivers/scsi/ibmvscsi/ibmvscsi.c	2006-09-28 15:03:54.000000000 -0500
+++ linux-2.6.17.ppc64-linda/drivers/scsi/ibmvscsi/ibmvscsi.c	2006-09-28 15:00:56.000000000 -0500
@@ -86,8 +86,10 @@ static int max_id = 64;
 static int max_channel = 3;
 static int init_timeout = 5;
 static int max_requests = 50;
+/* host data buffer size */
+#define buff_size	4096
 
-#define IBMVSCSI_VERSION "1.5.8"
+#define IBMVSCSI_VERSION "1.5.9"
 
 MODULE_DESCRIPTION("IBM Virtual SCSI");
 MODULE_AUTHOR("Dave Boutcher");
@@ -1347,7 +1349,7 @@ static ssize_t show_host_srp_version(str
 	    (struct ibmvscsi_host_data *)shost->hostdata;
 	int len;
 
-	len = snprintf(buf, PAGE_SIZE, "%s\n",
+	len = snprintf(buf, buff_size, "%s\n",
 		       hostdata->madapter_info.srp_version);
 	return len;
 }
@@ -1368,7 +1370,7 @@ static ssize_t show_host_partition_name(
 	    (struct ibmvscsi_host_data *)shost->hostdata;
 	int len;
 
-	len = snprintf(buf, PAGE_SIZE, "%s\n",
+	len = snprintf(buf, buff_size, "%s\n",
 		       hostdata->madapter_info.partition_name);
 	return len;
 }
@@ -1389,7 +1391,7 @@ static ssize_t show_host_partition_numbe
 	    (struct ibmvscsi_host_data *)shost->hostdata;
 	int len;
 
-	len = snprintf(buf, PAGE_SIZE, "%d\n",
+	len = snprintf(buf, buff_size, "%d\n",
 		       hostdata->madapter_info.partition_number);
 	return len;
 }
@@ -1409,7 +1411,7 @@ static ssize_t show_host_mad_version(str
 	    (struct ibmvscsi_host_data *)shost->hostdata;
 	int len;
 
-	len = snprintf(buf, PAGE_SIZE, "%d\n",
+	len = snprintf(buf, buff_size, "%d\n",
 		       hostdata->madapter_info.mad_version);
 	return len;
 }
@@ -1429,7 +1431,7 @@ static ssize_t show_host_os_type(struct 
 	    (struct ibmvscsi_host_data *)shost->hostdata;
 	int len;
 
-	len = snprintf(buf, PAGE_SIZE, "%d\n", hostdata->madapter_info.os_type);
+	len = snprintf(buf, buff_size, "%d\n", hostdata->madapter_info.os_type);
 	return len;
 }
 
@@ -1448,7 +1450,7 @@ static ssize_t show_host_config(struct c
 	    (struct ibmvscsi_host_data *)shost->hostdata;
 
 	/* returns null-terminated host config data */
-	if (ibmvscsi_do_host_config(hostdata, buf, PAGE_SIZE) == 0)
+	if (ibmvscsi_do_host_config(hostdata, buf, buff_size) == 0)
 		return strlen(buf);
 	else
 		return 0;