diff options
author | Jens Axboe <axboe@suse.de> | 2005-07-27 14:43:37 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-07-27 19:25:50 -0400 |
commit | c9b3ad673460fc997a652cd58aa3a345d40e5218 (patch) | |
tree | a91d0f452ccfe72fb2cb4c2db75cddc36a2ef21d /drivers/block | |
parent | ef2a701d444a4ea9790146e92756b0dde5070a15 (diff) |
[PATCH] as-iosched tunable encoding fix
AS is doing internal msec<->jiffies conversions twice, so the sysfs tunables
which represent time are coming out wrong. The switch from HZ=1000 exposed
this.
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/block')
-rw-r--r-- | drivers/block/as-iosched.c | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/drivers/block/as-iosched.c b/drivers/block/as-iosched.c index 91aeb678135d..95c0a3690b0f 100644 --- a/drivers/block/as-iosched.c +++ b/drivers/block/as-iosched.c | |||
@@ -1935,23 +1935,15 @@ struct as_fs_entry { | |||
1935 | static ssize_t | 1935 | static ssize_t |
1936 | as_var_show(unsigned int var, char *page) | 1936 | as_var_show(unsigned int var, char *page) |
1937 | { | 1937 | { |
1938 | var = (var * 1000) / HZ; | ||
1939 | return sprintf(page, "%d\n", var); | 1938 | return sprintf(page, "%d\n", var); |
1940 | } | 1939 | } |
1941 | 1940 | ||
1942 | static ssize_t | 1941 | static ssize_t |
1943 | as_var_store(unsigned long *var, const char *page, size_t count) | 1942 | as_var_store(unsigned long *var, const char *page, size_t count) |
1944 | { | 1943 | { |
1945 | unsigned long tmp; | ||
1946 | char *p = (char *) page; | 1944 | char *p = (char *) page; |
1947 | 1945 | ||
1948 | tmp = simple_strtoul(p, &p, 10); | 1946 | *var = simple_strtoul(p, &p, 10); |
1949 | if (tmp != 0) { | ||
1950 | tmp = (tmp * HZ) / 1000; | ||
1951 | if (tmp == 0) | ||
1952 | tmp = 1; | ||
1953 | } | ||
1954 | *var = tmp; | ||
1955 | return count; | 1947 | return count; |
1956 | } | 1948 | } |
1957 | 1949 | ||