#include <linux/init.h>
#include <linux/compiler.h>
#include <linux/delay.h>
+#include <linux/blktrace_api.h>
#include <asm/uaccess.h>
struct list_head *pos;
unsigned ordseq;
+ blk_add_trace_rq(q, rq, BLK_TA_INSERT);
+
rq->q = q;
switch (where) {
* not be passed by new incoming requests
*/
rq->flags |= REQ_STARTED;
+ blk_add_trace_rq(q, rq, BLK_TA_ISSUE);
}
if (!q->boundary_rq || q->boundary_rq == rq) {
error = kobject_add(&e->kobj);
if (!error) {
- struct attribute **attr = e->elevator_type->elevator_attrs;
+ struct elv_fs_entry *attr = e->elevator_type->elevator_attrs;
if (attr) {
- while (*attr) {
- if (sysfs_create_file(&e->kobj,*attr++))
+ while (attr->attr.name) {
+ if (sysfs_create_file(&e->kobj, &attr->attr))
break;
+ attr++;
}
}
kobject_uevent(&e->kobj, KOBJ_ADD);
int elv_register(struct elevator_type *e)
{
spin_lock_irq(&elv_list_lock);
- if (elevator_find(e->elevator_name))
- BUG();
+ BUG_ON(elevator_find(e->elevator_name));
list_add_tail(&e->list, &elv_list);
spin_unlock_irq(&elv_list_lock);