]> err.no Git - linux-2.6/blobdiff - include/linux/blkdev.h
[MFD] Add SA11x0 MCP platform device support
[linux-2.6] / include / linux / blkdev.h
index b54a0348a8905c78a570272b6b8c9a4c953b3d0b..19bd8e7e11bfcac95586ce28722730f7d4596118 100644 (file)
@@ -54,16 +54,23 @@ struct as_io_context {
 
 struct cfq_queue;
 struct cfq_io_context {
-       void (*dtor)(struct cfq_io_context *);
-       void (*exit)(struct cfq_io_context *);
-
-       struct io_context *ioc;
-
        /*
         * circular list of cfq_io_contexts belonging to a process io context
         */
        struct list_head list;
        struct cfq_queue *cfqq;
+       void *key;
+
+       struct io_context *ioc;
+
+       unsigned long last_end_request;
+       unsigned long last_queue;
+       unsigned long ttime_total;
+       unsigned long ttime_samples;
+       unsigned long ttime_mean;
+
+       void (*dtor)(struct cfq_io_context *);
+       void (*exit)(struct cfq_io_context *);
 };
 
 /*
@@ -73,7 +80,9 @@ struct cfq_io_context {
  */
 struct io_context {
        atomic_t refcount;
-       pid_t pid;
+       struct task_struct *task;
+
+       int (*set_ioprio)(struct io_context *, unsigned int);
 
        /*
         * For request batching
@@ -81,14 +90,13 @@ struct io_context {
        unsigned long last_waited; /* Time last woken after wait for request */
        int nr_batch_requests;     /* Number of requests left in the batch */
 
-       spinlock_t lock;
-
        struct as_io_context *aic;
        struct cfq_io_context *cic;
 };
 
 void put_io_context(struct io_context *ioc);
 void exit_io_context(void);
+struct io_context *current_io_context(int gfp_flags);
 struct io_context *get_io_context(int gfp_flags);
 void copy_io_context(struct io_context **pdst, struct io_context **psrc);
 void swap_io_context(struct io_context **ioc1, struct io_context **ioc2);
@@ -134,6 +142,8 @@ struct request {
 
        void *elevator_private;
 
+       unsigned short ioprio;
+
        int rq_status;  /* should split this into a few status bits */
        struct gendisk *rq_disk;
        int errors;
@@ -291,6 +301,7 @@ struct blk_queue_tag {
        struct list_head busy_list;     /* fifo list of busy tags */
        int busy;                       /* current depth */
        int max_depth;                  /* what we will send to device */
+       int real_max_depth;             /* what the array can hold */
        atomic_t refcnt;                /* map can be shared */
 };