summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>2009-10-09 08:48:08 +0200
committerJens Axboe <jens.axboe@oracle.com>2009-10-09 08:48:08 +0200
commit8c279598585e4992a41016bb973993ed15888cb3 (patch)
tree47da450c888cf5b63790e37e4b7640acbc3570a2
parent355b659c87432a4e76160640625c47fcf9174e8d (diff)
downloadlinux-3.10-8c279598585e4992a41016bb973993ed15888cb3.tar.gz
linux-3.10-8c279598585e4992a41016bb973993ed15888cb3.tar.bz2
linux-3.10-8c279598585e4992a41016bb973993ed15888cb3.zip
elv_iosched_store(): fix strstrip() misuse
elv_iosched_store() ignore the return value of strstrip(). It makes small inconsistent behavior. This patch fixes it. <before> ==================================== # cd /sys/block/{blockdev}/queue case1: # echo "anticipatory" > scheduler # cat scheduler noop [anticipatory] deadline cfq case2: # echo "anticipatory " > scheduler # cat scheduler noop [anticipatory] deadline cfq case3: # echo " anticipatory" > scheduler bash: echo: write error: Invalid argument <after> ==================================== # cd /sys/block/{blockdev}/queue case1: # echo "anticipatory" > scheduler # cat scheduler noop [anticipatory] deadline cfq case2: # echo "anticipatory " > scheduler # cat scheduler noop [anticipatory] deadline cfq case3: # echo " anticipatory" > scheduler noop [anticipatory] deadline cfq Cc: Li Zefan <lizf@cn.fujitsu.com> Cc: Jens Axboe <jens.axboe@oracle.com> Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
-rw-r--r--block/elevator.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/block/elevator.c b/block/elevator.c
index 1975b619c86..a847046c6e5 100644
--- a/block/elevator.c
+++ b/block/elevator.c
@@ -1059,9 +1059,7 @@ ssize_t elv_iosched_store(struct request_queue *q, const char *name,
return count;
strlcpy(elevator_name, name, sizeof(elevator_name));
- strstrip(elevator_name);
-
- e = elevator_get(elevator_name);
+ e = elevator_get(strstrip(elevator_name));
if (!e) {
printk(KERN_ERR "elevator: type %s not found\n", elevator_name);
return -EINVAL;