diff mbox

scsi_sysfs: Fix queue_ramp_up_period return code

Message ID 562E3E9F.50600@linux.vnet.ibm.com (mailing list archive)
State Accepted, archived
Headers show

Commit Message

Peter Oberparleiter Oct. 26, 2015, 2:54 p.m. UTC
Writing a number to /sys/bus/scsi/devices/<sdev>/queue_ramp_up_period
returns the value of that number instead of the number of bytes written.
This behavior can confuse programs expecting POSIX write() semantics.
Fix this by returning the number of bytes written instead.

Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
---
 drivers/scsi/scsi_sysfs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Bart Van Assche Oct. 27, 2015, 1:56 a.m. UTC | #1
On 10/26/15 07:54, Peter Oberparleiter wrote:
> Writing a number to /sys/bus/scsi/devices/<sdev>/queue_ramp_up_period
> returns the value of that number instead of the number of bytes written.
> This behavior can confuse programs expecting POSIX write() semantics.
> Fix this by returning the number of bytes written instead.
>
> Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
> ---
>   drivers/scsi/scsi_sysfs.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/scsi/scsi_sysfs.c b/drivers/scsi/scsi_sysfs.c
> index b333389..6b0f292 100644
> --- a/drivers/scsi/scsi_sysfs.c
> +++ b/drivers/scsi/scsi_sysfs.c
> @@ -898,7 +898,7 @@ sdev_store_queue_ramp_up_period(struct device *dev,
>   		return -EINVAL;
>
>   	sdev->queue_ramp_up_period = msecs_to_jiffies(period);
> -	return period;
> +	return count;
>   }
>
>   static DEVICE_ATTR(queue_ramp_up_period, S_IRUGO | S_IWUSR,

Hello Peter,

Good catch. But please CC the people who introduced this code and also 
"stable" (see also commit 4a84067dbfce436b81779e585bf712b02ceee552).

Thanks,

Bart.
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Hannes Reinecke Oct. 27, 2015, 6:57 a.m. UTC | #2
On 10/26/2015 03:54 PM, Peter Oberparleiter wrote:
> Writing a number to /sys/bus/scsi/devices/<sdev>/queue_ramp_up_period
> returns the value of that number instead of the number of bytes written.
> This behavior can confuse programs expecting POSIX write() semantics.
> Fix this by returning the number of bytes written instead.
> 
> Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
> ---
>  drivers/scsi/scsi_sysfs.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/scsi/scsi_sysfs.c b/drivers/scsi/scsi_sysfs.c
> index b333389..6b0f292 100644
> --- a/drivers/scsi/scsi_sysfs.c
> +++ b/drivers/scsi/scsi_sysfs.c
> @@ -898,7 +898,7 @@ sdev_store_queue_ramp_up_period(struct device *dev,
>  		return -EINVAL;
> 
>  	sdev->queue_ramp_up_period = msecs_to_jiffies(period);
> -	return period;
> +	return count;
>  }
> 
>  static DEVICE_ATTR(queue_ramp_up_period, S_IRUGO | S_IWUSR,
> 
Reviewed-by: Hannes Reinecke <hare@suse.de>

Cheers,

Hannes
Ewan Milne Oct. 27, 2015, 4:12 p.m. UTC | #3
On Mon, 2015-10-26 at 15:54 +0100, Peter Oberparleiter wrote:
> Writing a number to /sys/bus/scsi/devices/<sdev>/queue_ramp_up_period
> returns the value of that number instead of the number of bytes written.
> This behavior can confuse programs expecting POSIX write() semantics.
> Fix this by returning the number of bytes written instead.
> 
> Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
> ---
>  drivers/scsi/scsi_sysfs.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/scsi/scsi_sysfs.c b/drivers/scsi/scsi_sysfs.c
> index b333389..6b0f292 100644
> --- a/drivers/scsi/scsi_sysfs.c
> +++ b/drivers/scsi/scsi_sysfs.c
> @@ -898,7 +898,7 @@ sdev_store_queue_ramp_up_period(struct device *dev,
>  		return -EINVAL;
> 
>  	sdev->queue_ramp_up_period = msecs_to_jiffies(period);
> -	return period;
> +	return count;
>  }
> 
>  static DEVICE_ATTR(queue_ramp_up_period, S_IRUGO | S_IWUSR,

Reviewed-by: Ewan D. Milne <emilne@redhat.com>


--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/scsi/scsi_sysfs.c b/drivers/scsi/scsi_sysfs.c
index b333389..6b0f292 100644
--- a/drivers/scsi/scsi_sysfs.c
+++ b/drivers/scsi/scsi_sysfs.c
@@ -898,7 +898,7 @@  sdev_store_queue_ramp_up_period(struct device *dev,
 		return -EINVAL;

 	sdev->queue_ramp_up_period = msecs_to_jiffies(period);
-	return period;
+	return count;
 }

 static DEVICE_ATTR(queue_ramp_up_period, S_IRUGO | S_IWUSR,