git://ftp.safe.ca
/
safe
/
jmp
/
linux-2.6
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'fix/hda' into for-linus
[safe/jmp/linux-2.6]
/
block
/
elevator.c
diff --git
a/block/elevator.c
b/block/elevator.c
index
a847046
..
76e3702
100644
(file)
--- a/
block/elevator.c
+++ b/
block/elevator.c
@@
-154,10
+154,7
@@
static struct elevator_type *elevator_get(const char *name)
spin_unlock(&elv_list_lock);
spin_unlock(&elv_list_lock);
- if (!strcmp(name, "anticipatory"))
- sprintf(elv, "as-iosched");
- else
- sprintf(elv, "%s-iosched", name);
+ snprintf(elv, sizeof(elv), "%s-iosched", name);
request_module("%s", elv);
spin_lock(&elv_list_lock);
request_module("%s", elv);
spin_lock(&elv_list_lock);
@@
-193,10
+190,7
@@
static int __init elevator_setup(char *str)
* Be backwards-compatible with previous kernels, so users
* won't get the wrong elevator.
*/
* Be backwards-compatible with previous kernels, so users
* won't get the wrong elevator.
*/
- if (!strcmp(str, "as"))
- strcpy(chosen_elevator, "anticipatory");
- else
- strncpy(chosen_elevator, str, sizeof(chosen_elevator) - 1);
+ strncpy(chosen_elevator, str, sizeof(chosen_elevator) - 1);
return 1;
}
return 1;
}
@@
-480,6
+474,15
@@
int elv_merge(struct request_queue *q, struct request **req, struct bio *bio)
int ret;
/*
int ret;
/*
+ * Levels of merges:
+ * nomerges: No merges at all attempted
+ * noxmerges: Only simple one-hit cache try
+ * merges: All merge tries attempted
+ */
+ if (blk_queue_nomerges(q))
+ return ELEVATOR_NO_MERGE;
+
+ /*
* First try one-hit cache.
*/
if (q->last_merge) {
* First try one-hit cache.
*/
if (q->last_merge) {
@@
-490,7
+493,7
@@
int elv_merge(struct request_queue *q, struct request **req, struct bio *bio)
}
}
}
}
- if (blk_queue_nomerges(q))
+ if (blk_queue_no
x
merges(q))
return ELEVATOR_NO_MERGE;
/*
return ELEVATOR_NO_MERGE;
/*
@@
-889,7
+892,7
@@
elv_attr_store(struct kobject *kobj, struct attribute *attr,
return error;
}
return error;
}
-static struct sysfs_ops elv_sysfs_ops = {
+static
const
struct sysfs_ops elv_sysfs_ops = {
.show = elv_attr_show,
.store = elv_attr_store,
};
.show = elv_attr_show,
.store = elv_attr_store,
};