All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] scsi_debug lk 2.5.64
@ 2003-03-05 21:36 Douglas Gilbert
  0 siblings, 0 replies; only message in thread
From: Douglas Gilbert @ 2003-03-05 21:36 UTC (permalink / raw)
  To: linux-scsi

[-- Attachment #1: Type: text/plain, Size: 423 bytes --]

Attached is an interim patch for the scsi_debug driver
in lk 2.5.64 . It corrects the sysfs show() and store()
signatures.

There are two pending patches on scsi_debug that I plan
to incorporate soon:
   - re-arrange driver to use sysfs "probe()" function.
     An oops in sysfs during an rmmod operation is still
     to be cleared up. [from Mike Anderson]
   - injected recovered errors [from Kurt Garloff]

Doug Gilbert

[-- Attachment #2: scsi_debug_2564_168.diff --]
[-- Type: text/plain, Size: 5913 bytes --]

--- linux/drivers/scsi/scsi_debug.c	2003-02-11 09:39:20.000000000 +1100
+++ linux/drivers/scsi/scsi_debug.c2564_168	2003-03-04 22:57:07.000000000 +1100
@@ -54,7 +54,7 @@
 
 #include "scsi_debug.h"
 
-static const char * scsi_debug_version_str = "Version: 1.67 (20021221)";
+static const char * scsi_debug_version_str = "Version: 1.68 (20030304)";
 
 #ifndef SCSI_CMD_READ_16
 #define SCSI_CMD_READ_16 0x88
@@ -1192,20 +1192,17 @@
 	return len;
 }
 
-static ssize_t sdebug_delay_read(struct device_driver * ddp, char * buf, 
-				 size_t count, loff_t off)
+static ssize_t sdebug_delay_show(struct device_driver * ddp, char * buf) 
 {
-        return off ? 0 : snprintf(buf, count, "%d\n", scsi_debug_delay);
+        return snprintf(buf, PAGE_SIZE, "%d\n", scsi_debug_delay);
 }
 
-static ssize_t sdebug_delay_write(struct device_driver * ddp, 
-				  const char * buf, size_t count, loff_t off)
+static ssize_t sdebug_delay_store(struct device_driver * ddp, 
+				  const char * buf, size_t count)
 {
         int delay;
 	char work[20];
 
-        if (off)
-                return 0;
         if (1 == sscanf(buf, "%10s", work)) {
 		if ((1 == sscanf(work, "%d", &delay)) && (delay >= 0)) {
 			scsi_debug_delay = delay;
@@ -1214,23 +1211,20 @@
 	}
 	return -EINVAL;
 }
-DRIVER_ATTR(delay, S_IRUGO | S_IWUSR, sdebug_delay_read, 
-	    sdebug_delay_write)
+DRIVER_ATTR(delay, S_IRUGO | S_IWUSR, sdebug_delay_show, 
+	    sdebug_delay_store)
 
-static ssize_t sdebug_opts_read(struct device_driver * ddp, char * buf, 
-				size_t count, loff_t off)
+static ssize_t sdebug_opts_show(struct device_driver * ddp, char * buf) 
 {
-        return off ? 0 : snprintf(buf, count, "0x%x\n", scsi_debug_opts);
+        return snprintf(buf, PAGE_SIZE, "0x%x\n", scsi_debug_opts);
 }
 
-static ssize_t sdebug_opts_write(struct device_driver * ddp, 
-				 const char * buf, size_t count, loff_t off)
+static ssize_t sdebug_opts_store(struct device_driver * ddp, 
+				 const char * buf, size_t count)
 {
         int opts;
 	char work[20];
 
-        if (off)
-                return 0;
         if (1 == sscanf(buf, "%10s", work)) {
 		if (0 == strnicmp(work,"0x", 2)) {
 			if (1 == sscanf(&work[2], "%x", &opts))
@@ -1245,58 +1239,50 @@
 	scsi_debug_opts = opts;
 	return count;
 }
-DRIVER_ATTR(opts, S_IRUGO | S_IWUSR, sdebug_opts_read, 
-	    sdebug_opts_write)
+DRIVER_ATTR(opts, S_IRUGO | S_IWUSR, sdebug_opts_show, 
+	    sdebug_opts_store)
 
-static ssize_t sdebug_num_devs_read(struct device_driver * ddp, char * buf, 
-				    size_t count, loff_t off)
+static ssize_t sdebug_num_devs_show(struct device_driver * ddp, char * buf) 
 {
-        return off ? 0 : snprintf(buf, count, "%d\n", scsi_debug_num_devs);
+        return snprintf(buf, PAGE_SIZE, "%d\n", scsi_debug_num_devs);
 }
-DRIVER_ATTR(num_devs, S_IRUGO, sdebug_num_devs_read, NULL) 
+DRIVER_ATTR(num_devs, S_IRUGO, sdebug_num_devs_show, NULL) 
 
-static ssize_t sdebug_dev_size_mb_read(struct device_driver * ddp, char * buf, 
-				       size_t count, loff_t off)
+static ssize_t sdebug_dev_size_mb_show(struct device_driver * ddp, char * buf) 
 {
-        return off ? 0 : snprintf(buf, count, "%d\n", scsi_debug_dev_size_mb);
+        return snprintf(buf, PAGE_SIZE, "%d\n", scsi_debug_dev_size_mb);
 }
-DRIVER_ATTR(dev_size_mb, S_IRUGO, sdebug_dev_size_mb_read, NULL) 
+DRIVER_ATTR(dev_size_mb, S_IRUGO, sdebug_dev_size_mb_show, NULL) 
 
-static ssize_t sdebug_every_nth_read(struct device_driver * ddp, char * buf, 
-				     size_t count, loff_t off)
+static ssize_t sdebug_every_nth_show(struct device_driver * ddp, char * buf) 
 {
-        return off ? 0 : snprintf(buf, count, "%d\n", scsi_debug_every_nth);
+        return snprintf(buf, PAGE_SIZE, "%d\n", scsi_debug_every_nth);
 }
-DRIVER_ATTR(every_nth, S_IRUGO, sdebug_every_nth_read, NULL) 
+DRIVER_ATTR(every_nth, S_IRUGO, sdebug_every_nth_show, NULL) 
 
-static ssize_t sdebug_max_luns_read(struct device_driver * ddp, char * buf, 
-				    size_t count, loff_t off)
+static ssize_t sdebug_max_luns_show(struct device_driver * ddp, char * buf) 
 {
-        return off ? 0 : snprintf(buf, count, "%d\n", scsi_debug_max_luns);
+        return snprintf(buf, PAGE_SIZE, "%d\n", scsi_debug_max_luns);
 }
-DRIVER_ATTR(max_luns, S_IRUGO, sdebug_max_luns_read, NULL) 
+DRIVER_ATTR(max_luns, S_IRUGO, sdebug_max_luns_show, NULL) 
 
-static ssize_t sdebug_scsi_level_read(struct device_driver * ddp, char * buf, 
-				      size_t count, loff_t off)
+static ssize_t sdebug_scsi_level_show(struct device_driver * ddp, char * buf) 
 {
-        return off ? 0 : snprintf(buf, count, "%d\n", scsi_debug_scsi_level);
+        return snprintf(buf, PAGE_SIZE, "%d\n", scsi_debug_scsi_level);
 }
-DRIVER_ATTR(scsi_level, S_IRUGO, sdebug_scsi_level_read, NULL) 
+DRIVER_ATTR(scsi_level, S_IRUGO, sdebug_scsi_level_show, NULL) 
 
-static ssize_t sdebug_add_host_read(struct device_driver * ddp, char * buf, 
-				    size_t count, loff_t off)
+static ssize_t sdebug_add_host_show(struct device_driver * ddp, char * buf) 
 {
-        return off ? 0 : snprintf(buf, count, "%d\n", scsi_debug_add_host);
+        return snprintf(buf, PAGE_SIZE, "%d\n", scsi_debug_add_host);
 }
 
-static ssize_t sdebug_add_host_write(struct device_driver * ddp, 
-				  const char * buf, size_t count, loff_t off)
+static ssize_t sdebug_add_host_store(struct device_driver * ddp, 
+				     const char * buf, size_t count)
 {
         int delta_hosts, k;
 	char work[20];
 
-        if (off)
-                return 0;
         if (1 != sscanf(buf, "%10s", work))
 		return -EINVAL;
 	{	/* temporary hack around sscanf() problem with -ve nums */
@@ -1336,8 +1322,8 @@
 	}
 	return count;
 }
-DRIVER_ATTR(add_host, S_IRUGO | S_IWUSR, sdebug_add_host_read, 
-	    sdebug_add_host_write)
+DRIVER_ATTR(add_host, S_IRUGO | S_IWUSR, sdebug_add_host_show, 
+	    sdebug_add_host_store)
 
 static void do_create_driverfs_files()
 {

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2003-03-05 22:37 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-03-05 21:36 [PATCH] scsi_debug lk 2.5.64 Douglas Gilbert

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.