提交 8267e268 编写于 作者: A Al Viro 提交者: Linus Torvalds

[PATCH] gfp_t: block layer core

Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 27496a8c
...@@ -1807,7 +1807,7 @@ static void as_put_request(request_queue_t *q, struct request *rq) ...@@ -1807,7 +1807,7 @@ static void as_put_request(request_queue_t *q, struct request *rq)
} }
static int as_set_request(request_queue_t *q, struct request *rq, static int as_set_request(request_queue_t *q, struct request *rq,
struct bio *bio, int gfp_mask) struct bio *bio, gfp_t gfp_mask)
{ {
struct as_data *ad = q->elevator->elevator_data; struct as_data *ad = q->elevator->elevator_data;
struct as_rq *arq = mempool_alloc(ad->arq_pool, gfp_mask); struct as_rq *arq = mempool_alloc(ad->arq_pool, gfp_mask);
......
...@@ -1422,7 +1422,7 @@ static void cfq_exit_io_context(struct cfq_io_context *cic) ...@@ -1422,7 +1422,7 @@ static void cfq_exit_io_context(struct cfq_io_context *cic)
} }
static struct cfq_io_context * static struct cfq_io_context *
cfq_alloc_io_context(struct cfq_data *cfqd, int gfp_mask) cfq_alloc_io_context(struct cfq_data *cfqd, gfp_t gfp_mask)
{ {
struct cfq_io_context *cic = kmem_cache_alloc(cfq_ioc_pool, gfp_mask); struct cfq_io_context *cic = kmem_cache_alloc(cfq_ioc_pool, gfp_mask);
...@@ -1517,7 +1517,7 @@ static int cfq_ioc_set_ioprio(struct io_context *ioc, unsigned int ioprio) ...@@ -1517,7 +1517,7 @@ static int cfq_ioc_set_ioprio(struct io_context *ioc, unsigned int ioprio)
static struct cfq_queue * static struct cfq_queue *
cfq_get_queue(struct cfq_data *cfqd, unsigned int key, unsigned short ioprio, cfq_get_queue(struct cfq_data *cfqd, unsigned int key, unsigned short ioprio,
int gfp_mask) gfp_t gfp_mask)
{ {
const int hashval = hash_long(key, CFQ_QHASH_SHIFT); const int hashval = hash_long(key, CFQ_QHASH_SHIFT);
struct cfq_queue *cfqq, *new_cfqq = NULL; struct cfq_queue *cfqq, *new_cfqq = NULL;
...@@ -1578,7 +1578,7 @@ cfq_get_queue(struct cfq_data *cfqd, unsigned int key, unsigned short ioprio, ...@@ -1578,7 +1578,7 @@ cfq_get_queue(struct cfq_data *cfqd, unsigned int key, unsigned short ioprio,
* cfqq, so we don't need to worry about it disappearing * cfqq, so we don't need to worry about it disappearing
*/ */
static struct cfq_io_context * static struct cfq_io_context *
cfq_get_io_context(struct cfq_data *cfqd, pid_t pid, int gfp_mask) cfq_get_io_context(struct cfq_data *cfqd, pid_t pid, gfp_t gfp_mask)
{ {
struct io_context *ioc = NULL; struct io_context *ioc = NULL;
struct cfq_io_context *cic; struct cfq_io_context *cic;
...@@ -2075,7 +2075,7 @@ static void cfq_put_request(request_queue_t *q, struct request *rq) ...@@ -2075,7 +2075,7 @@ static void cfq_put_request(request_queue_t *q, struct request *rq)
*/ */
static int static int
cfq_set_request(request_queue_t *q, struct request *rq, struct bio *bio, cfq_set_request(request_queue_t *q, struct request *rq, struct bio *bio,
int gfp_mask) gfp_t gfp_mask)
{ {
struct cfq_data *cfqd = q->elevator->elevator_data; struct cfq_data *cfqd = q->elevator->elevator_data;
struct task_struct *tsk = current; struct task_struct *tsk = current;
......
...@@ -756,7 +756,7 @@ static void deadline_put_request(request_queue_t *q, struct request *rq) ...@@ -756,7 +756,7 @@ static void deadline_put_request(request_queue_t *q, struct request *rq)
static int static int
deadline_set_request(request_queue_t *q, struct request *rq, struct bio *bio, deadline_set_request(request_queue_t *q, struct request *rq, struct bio *bio,
int gfp_mask) gfp_t gfp_mask)
{ {
struct deadline_data *dd = q->elevator->elevator_data; struct deadline_data *dd = q->elevator->elevator_data;
struct deadline_rq *drq; struct deadline_rq *drq;
......
...@@ -487,7 +487,7 @@ struct request *elv_former_request(request_queue_t *q, struct request *rq) ...@@ -487,7 +487,7 @@ struct request *elv_former_request(request_queue_t *q, struct request *rq)
} }
int elv_set_request(request_queue_t *q, struct request *rq, struct bio *bio, int elv_set_request(request_queue_t *q, struct request *rq, struct bio *bio,
int gfp_mask) gfp_t gfp_mask)
{ {
elevator_t *e = q->elevator; elevator_t *e = q->elevator;
......
...@@ -1652,13 +1652,13 @@ static int blk_init_free_list(request_queue_t *q) ...@@ -1652,13 +1652,13 @@ static int blk_init_free_list(request_queue_t *q)
static int __make_request(request_queue_t *, struct bio *); static int __make_request(request_queue_t *, struct bio *);
request_queue_t *blk_alloc_queue(int gfp_mask) request_queue_t *blk_alloc_queue(gfp_t gfp_mask)
{ {
return blk_alloc_queue_node(gfp_mask, -1); return blk_alloc_queue_node(gfp_mask, -1);
} }
EXPORT_SYMBOL(blk_alloc_queue); EXPORT_SYMBOL(blk_alloc_queue);
request_queue_t *blk_alloc_queue_node(int gfp_mask, int node_id) request_queue_t *blk_alloc_queue_node(gfp_t gfp_mask, int node_id)
{ {
request_queue_t *q; request_queue_t *q;
...@@ -1787,7 +1787,7 @@ static inline void blk_free_request(request_queue_t *q, struct request *rq) ...@@ -1787,7 +1787,7 @@ static inline void blk_free_request(request_queue_t *q, struct request *rq)
} }
static inline struct request * static inline struct request *
blk_alloc_request(request_queue_t *q, int rw, struct bio *bio, int gfp_mask) blk_alloc_request(request_queue_t *q, int rw, struct bio *bio, gfp_t gfp_mask)
{ {
struct request *rq = mempool_alloc(q->rq.rq_pool, gfp_mask); struct request *rq = mempool_alloc(q->rq.rq_pool, gfp_mask);
...@@ -1885,7 +1885,7 @@ static void freed_request(request_queue_t *q, int rw) ...@@ -1885,7 +1885,7 @@ static void freed_request(request_queue_t *q, int rw)
* Returns !NULL on success, with queue_lock *not held*. * Returns !NULL on success, with queue_lock *not held*.
*/ */
static struct request *get_request(request_queue_t *q, int rw, struct bio *bio, static struct request *get_request(request_queue_t *q, int rw, struct bio *bio,
int gfp_mask) gfp_t gfp_mask)
{ {
struct request *rq = NULL; struct request *rq = NULL;
struct request_list *rl = &q->rq; struct request_list *rl = &q->rq;
...@@ -2019,7 +2019,7 @@ static struct request *get_request_wait(request_queue_t *q, int rw, ...@@ -2019,7 +2019,7 @@ static struct request *get_request_wait(request_queue_t *q, int rw,
return rq; return rq;
} }
struct request *blk_get_request(request_queue_t *q, int rw, int gfp_mask) struct request *blk_get_request(request_queue_t *q, int rw, gfp_t gfp_mask)
{ {
struct request *rq; struct request *rq;
...@@ -2251,7 +2251,7 @@ EXPORT_SYMBOL(blk_rq_unmap_user); ...@@ -2251,7 +2251,7 @@ EXPORT_SYMBOL(blk_rq_unmap_user);
* @gfp_mask: memory allocation flags * @gfp_mask: memory allocation flags
*/ */
int blk_rq_map_kern(request_queue_t *q, struct request *rq, void *kbuf, int blk_rq_map_kern(request_queue_t *q, struct request *rq, void *kbuf,
unsigned int len, unsigned int gfp_mask) unsigned int len, gfp_t gfp_mask)
{ {
struct bio *bio; struct bio *bio;
...@@ -3393,7 +3393,7 @@ void exit_io_context(void) ...@@ -3393,7 +3393,7 @@ void exit_io_context(void)
* but since the current task itself holds a reference, the context can be * but since the current task itself holds a reference, the context can be
* used in general code, so long as it stays within `current` context. * used in general code, so long as it stays within `current` context.
*/ */
struct io_context *current_io_context(int gfp_flags) struct io_context *current_io_context(gfp_t gfp_flags)
{ {
struct task_struct *tsk = current; struct task_struct *tsk = current;
struct io_context *ret; struct io_context *ret;
...@@ -3424,7 +3424,7 @@ EXPORT_SYMBOL(current_io_context); ...@@ -3424,7 +3424,7 @@ EXPORT_SYMBOL(current_io_context);
* *
* This is always called in the context of the task which submitted the I/O. * This is always called in the context of the task which submitted the I/O.
*/ */
struct io_context *get_io_context(int gfp_flags) struct io_context *get_io_context(gfp_t gfp_flags)
{ {
struct io_context *ret; struct io_context *ret;
ret = current_io_context(gfp_flags); ret = current_io_context(gfp_flags);
......
...@@ -96,8 +96,8 @@ struct io_context { ...@@ -96,8 +96,8 @@ struct io_context {
void put_io_context(struct io_context *ioc); void put_io_context(struct io_context *ioc);
void exit_io_context(void); void exit_io_context(void);
struct io_context *current_io_context(int gfp_flags); struct io_context *current_io_context(gfp_t gfp_flags);
struct io_context *get_io_context(int gfp_flags); struct io_context *get_io_context(gfp_t gfp_flags);
void copy_io_context(struct io_context **pdst, struct io_context **psrc); void copy_io_context(struct io_context **pdst, struct io_context **psrc);
void swap_io_context(struct io_context **ioc1, struct io_context **ioc2); void swap_io_context(struct io_context **ioc1, struct io_context **ioc2);
...@@ -354,7 +354,7 @@ struct request_queue ...@@ -354,7 +354,7 @@ struct request_queue
* queue needs bounce pages for pages above this limit * queue needs bounce pages for pages above this limit
*/ */
unsigned long bounce_pfn; unsigned long bounce_pfn;
unsigned int bounce_gfp; gfp_t bounce_gfp;
/* /*
* various queue flags, see QUEUE_* below * various queue flags, see QUEUE_* below
...@@ -550,7 +550,7 @@ extern void generic_make_request(struct bio *bio); ...@@ -550,7 +550,7 @@ extern void generic_make_request(struct bio *bio);
extern void blk_put_request(struct request *); extern void blk_put_request(struct request *);
extern void blk_end_sync_rq(struct request *rq); extern void blk_end_sync_rq(struct request *rq);
extern void blk_attempt_remerge(request_queue_t *, struct request *); extern void blk_attempt_remerge(request_queue_t *, struct request *);
extern struct request *blk_get_request(request_queue_t *, int, int); extern struct request *blk_get_request(request_queue_t *, int, gfp_t);
extern void blk_insert_request(request_queue_t *, struct request *, int, void *); extern void blk_insert_request(request_queue_t *, struct request *, int, void *);
extern void blk_requeue_request(request_queue_t *, struct request *); extern void blk_requeue_request(request_queue_t *, struct request *);
extern void blk_plug_device(request_queue_t *); extern void blk_plug_device(request_queue_t *);
...@@ -565,7 +565,7 @@ extern void blk_run_queue(request_queue_t *); ...@@ -565,7 +565,7 @@ extern void blk_run_queue(request_queue_t *);
extern void blk_queue_activity_fn(request_queue_t *, activity_fn *, void *); extern void blk_queue_activity_fn(request_queue_t *, activity_fn *, void *);
extern int blk_rq_map_user(request_queue_t *, struct request *, void __user *, unsigned int); extern int blk_rq_map_user(request_queue_t *, struct request *, void __user *, unsigned int);
extern int blk_rq_unmap_user(struct bio *, unsigned int); extern int blk_rq_unmap_user(struct bio *, unsigned int);
extern int blk_rq_map_kern(request_queue_t *, struct request *, void *, unsigned int, unsigned int); extern int blk_rq_map_kern(request_queue_t *, struct request *, void *, unsigned int, gfp_t);
extern int blk_rq_map_user_iov(request_queue_t *, struct request *, struct sg_iovec *, int); extern int blk_rq_map_user_iov(request_queue_t *, struct request *, struct sg_iovec *, int);
extern int blk_execute_rq(request_queue_t *, struct gendisk *, extern int blk_execute_rq(request_queue_t *, struct gendisk *,
struct request *, int); struct request *, int);
...@@ -654,8 +654,8 @@ extern void blk_wait_queue_drained(request_queue_t *, int); ...@@ -654,8 +654,8 @@ extern void blk_wait_queue_drained(request_queue_t *, int);
extern void blk_finish_queue_drain(request_queue_t *); extern void blk_finish_queue_drain(request_queue_t *);
int blk_get_queue(request_queue_t *); int blk_get_queue(request_queue_t *);
request_queue_t *blk_alloc_queue(int gfp_mask); request_queue_t *blk_alloc_queue(gfp_t);
request_queue_t *blk_alloc_queue_node(int,int); request_queue_t *blk_alloc_queue_node(gfp_t, int);
#define blk_put_queue(q) blk_cleanup_queue((q)) #define blk_put_queue(q) blk_cleanup_queue((q))
/* /*
......
...@@ -18,7 +18,7 @@ typedef struct request *(elevator_request_list_fn) (request_queue_t *, struct re ...@@ -18,7 +18,7 @@ typedef struct request *(elevator_request_list_fn) (request_queue_t *, struct re
typedef void (elevator_completed_req_fn) (request_queue_t *, struct request *); typedef void (elevator_completed_req_fn) (request_queue_t *, struct request *);
typedef int (elevator_may_queue_fn) (request_queue_t *, int, struct bio *); typedef int (elevator_may_queue_fn) (request_queue_t *, int, struct bio *);
typedef int (elevator_set_req_fn) (request_queue_t *, struct request *, struct bio *, int); typedef int (elevator_set_req_fn) (request_queue_t *, struct request *, struct bio *, gfp_t);
typedef void (elevator_put_req_fn) (request_queue_t *, struct request *); typedef void (elevator_put_req_fn) (request_queue_t *, struct request *);
typedef void (elevator_deactivate_req_fn) (request_queue_t *, struct request *); typedef void (elevator_deactivate_req_fn) (request_queue_t *, struct request *);
...@@ -98,7 +98,7 @@ extern int elv_register_queue(request_queue_t *q); ...@@ -98,7 +98,7 @@ extern int elv_register_queue(request_queue_t *q);
extern void elv_unregister_queue(request_queue_t *q); extern void elv_unregister_queue(request_queue_t *q);
extern int elv_may_queue(request_queue_t *, int, struct bio *); extern int elv_may_queue(request_queue_t *, int, struct bio *);
extern void elv_completed_request(request_queue_t *, struct request *); extern void elv_completed_request(request_queue_t *, struct request *);
extern int elv_set_request(request_queue_t *, struct request *, struct bio *, int); extern int elv_set_request(request_queue_t *, struct request *, struct bio *, gfp_t);
extern void elv_put_request(request_queue_t *, struct request *); extern void elv_put_request(request_queue_t *, struct request *);
/* /*
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册