]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - block/elevator.c
[PATCH] autofs4: add v5 follow_link mount trigger method
[linux-2.6-omap-h63xx.git] / block / elevator.c
index 0d2db536c6a759c9c16cb2e7d24abe6561d00a54..56c2ed06a9e2432f89150a8d274bc1f4517b7a1a 100644 (file)
@@ -33,6 +33,7 @@
 #include <linux/init.h>
 #include <linux/compiler.h>
 #include <linux/delay.h>
+#include <linux/blktrace_api.h>
 
 #include <asm/uaccess.h>
 
@@ -333,6 +334,8 @@ void elv_insert(request_queue_t *q, struct request *rq, int where)
        struct list_head *pos;
        unsigned ordseq;
 
+       blk_add_trace_rq(q, rq, BLK_TA_INSERT);
+
        rq->q = q;
 
        switch (where) {
@@ -499,6 +502,7 @@ struct request *elv_next_request(request_queue_t *q)
                         * 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) {
@@ -699,11 +703,12 @@ int elv_register_queue(struct request_queue *q)
 
        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);
@@ -723,8 +728,7 @@ void elv_unregister_queue(struct request_queue *q)
 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);