Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions
blk-merge.c File Reference
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/bio.h>
#include <linux/blkdev.h>
#include <linux/scatterlist.h>
#include "blk.h"

Go to the source code of this file.

Functions

void blk_recalc_rq_segments (struct request *rq)
 
void blk_recount_segments (struct request_queue *q, struct bio *bio)
 
 EXPORT_SYMBOL (blk_recount_segments)
 
int blk_rq_map_sg (struct request_queue *q, struct request *rq, struct scatterlist *sglist)
 
 EXPORT_SYMBOL (blk_rq_map_sg)
 
int blk_bio_map_sg (struct request_queue *q, struct bio *bio, struct scatterlist *sglist)
 
 EXPORT_SYMBOL (blk_bio_map_sg)
 
int ll_back_merge_fn (struct request_queue *q, struct request *req, struct bio *bio)
 
int ll_front_merge_fn (struct request_queue *q, struct request *req, struct bio *bio)
 
void blk_rq_set_mixed_merge (struct request *rq)
 
int attempt_back_merge (struct request_queue *q, struct request *rq)
 
int attempt_front_merge (struct request_queue *q, struct request *rq)
 
int blk_attempt_req_merge (struct request_queue *q, struct request *rq, struct request *next)
 
bool blk_rq_merge_ok (struct request *rq, struct bio *bio)
 
int blk_try_merge (struct request *rq, struct bio *bio)
 

Function Documentation

int attempt_back_merge ( struct request_queue q,
struct request rq 
)

Definition at line 479 of file blk-merge.c.

int attempt_front_merge ( struct request_queue q,
struct request rq 
)

Definition at line 489 of file blk-merge.c.

int blk_attempt_req_merge ( struct request_queue q,
struct request rq,
struct request next 
)

Definition at line 499 of file blk-merge.c.

int blk_bio_map_sg ( struct request_queue q,
struct bio *  bio,
struct scatterlist sglist 
)

blk_bio_map_sg - map a bio to a scatterlist : request_queue in question : bio being mapped : scatterlist being mapped

Note: Caller must make sure sg can hold bio->bi_phys_segments entries

Will return the number of sg entries setup

Definition at line 223 of file blk-merge.c.

void blk_recalc_rq_segments ( struct request rq)

Definition at line 71 of file blk-merge.c.

void blk_recount_segments ( struct request_queue q,
struct bio *  bio 
)

Definition at line 76 of file blk-merge.c.

int blk_rq_map_sg ( struct request_queue q,
struct request rq,
struct scatterlist sglist 
)

Definition at line 160 of file blk-merge.c.

bool blk_rq_merge_ok ( struct request rq,
struct bio *  bio 
)

Definition at line 505 of file blk-merge.c.

void blk_rq_set_mixed_merge ( struct request rq)

blk_rq_set_mixed_merge - mark a request as mixed merge : request to mark as mixed merge

Description: is about to be mixed merged. Make sure the attributes which can be mixed are set in each bio and mark as mixed merged.

Definition at line 361 of file blk-merge.c.

int blk_try_merge ( struct request rq,
struct bio *  bio 
)

Definition at line 533 of file blk-merge.c.

EXPORT_SYMBOL ( blk_recount_segments  )
EXPORT_SYMBOL ( blk_rq_map_sg  )
EXPORT_SYMBOL ( blk_bio_map_sg  )
int ll_back_merge_fn ( struct request_queue q,
struct request req,
struct bio *  bio 
)

Definition at line 275 of file blk-merge.c.

int ll_front_merge_fn ( struct request_queue q,
struct request req,
struct bio *  bio 
)

Definition at line 293 of file blk-merge.c.