projects
/
linux-2.6-microblaze.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
block: pass struct queue_limits to the bio splitting helpers
[linux-2.6-microblaze.git]
/
block
/
blk.h
diff --git
a/block/blk.h
b/block/blk.h
index
b3eda6c
..
d7142c4
100644
(file)
--- a/
block/blk.h
+++ b/
block/blk.h
@@
-97,23
+97,23
@@
static inline bool biovec_phys_mergeable(struct request_queue *q,
return true;
}
return true;
}
-static inline bool __bvec_gap_to_prev(struct
request_queue *q
,
+static inline bool __bvec_gap_to_prev(struct
queue_limits *lim
,
struct bio_vec *bprv, unsigned int offset)
{
struct bio_vec *bprv, unsigned int offset)
{
- return (offset &
queue_virt_boundary(q)
) ||
- ((bprv->bv_offset + bprv->bv_len) &
queue_virt_boundary(q)
);
+ return (offset &
lim->virt_boundary_mask
) ||
+ ((bprv->bv_offset + bprv->bv_len) &
lim->virt_boundary_mask
);
}
/*
* Check if adding a bio_vec after bprv with offset would create a gap in
* the SG list. Most drivers don't care about this, but some do.
*/
}
/*
* Check if adding a bio_vec after bprv with offset would create a gap in
* the SG list. Most drivers don't care about this, but some do.
*/
-static inline bool bvec_gap_to_prev(struct
request_queue *q
,
+static inline bool bvec_gap_to_prev(struct
queue_limits *lim
,
struct bio_vec *bprv, unsigned int offset)
{
struct bio_vec *bprv, unsigned int offset)
{
- if (!
queue_virt_boundary(q)
)
+ if (!
lim->virt_boundary_mask
)
return false;
return false;
- return __bvec_gap_to_prev(
q
, bprv, offset);
+ return __bvec_gap_to_prev(
lim
, bprv, offset);
}
static inline bool rq_mergeable(struct request *rq)
}
static inline bool rq_mergeable(struct request *rq)
@@
-189,7
+189,8
@@
static inline bool integrity_req_gap_back_merge(struct request *req,
struct bio_integrity_payload *bip = bio_integrity(req->bio);
struct bio_integrity_payload *bip_next = bio_integrity(next);
struct bio_integrity_payload *bip = bio_integrity(req->bio);
struct bio_integrity_payload *bip_next = bio_integrity(next);
- return bvec_gap_to_prev(req->q, &bip->bip_vec[bip->bip_vcnt - 1],
+ return bvec_gap_to_prev(&req->q->limits,
+ &bip->bip_vec[bip->bip_vcnt - 1],
bip_next->bip_vec[0].bv_offset);
}
bip_next->bip_vec[0].bv_offset);
}
@@
-199,7
+200,8
@@
static inline bool integrity_req_gap_front_merge(struct request *req,
struct bio_integrity_payload *bip = bio_integrity(bio);
struct bio_integrity_payload *bip_next = bio_integrity(req->bio);
struct bio_integrity_payload *bip = bio_integrity(bio);
struct bio_integrity_payload *bip_next = bio_integrity(req->bio);
- return bvec_gap_to_prev(req->q, &bip->bip_vec[bip->bip_vcnt - 1],
+ return bvec_gap_to_prev(&req->q->limits,
+ &bip->bip_vec[bip->bip_vcnt - 1],
bip_next->bip_vec[0].bv_offset);
}
bip_next->bip_vec[0].bv_offset);
}
@@
-288,7
+290,8
@@
ssize_t part_timeout_show(struct device *, struct device_attribute *, char *);
ssize_t part_timeout_store(struct device *, struct device_attribute *,
const char *, size_t);
ssize_t part_timeout_store(struct device *, struct device_attribute *,
const char *, size_t);
-static inline bool bio_may_exceed_limits(struct bio *bio, struct request_queue *q)
+static inline bool bio_may_exceed_limits(struct bio *bio,
+ struct queue_limits *lim)
{
switch (bio_op(bio)) {
case REQ_OP_DISCARD:
{
switch (bio_op(bio)) {
case REQ_OP_DISCARD:
@@
-307,11
+310,11
@@
static inline bool bio_may_exceed_limits(struct bio *bio, struct request_queue *
* to the performance impact of cloned bios themselves the loop below
* doesn't matter anyway.
*/
* to the performance impact of cloned bios themselves the loop below
* doesn't matter anyway.
*/
- return
q->limits.
chunk_sectors || bio->bi_vcnt != 1 ||
+ return
lim->
chunk_sectors || bio->bi_vcnt != 1 ||
bio->bi_io_vec->bv_len + bio->bi_io_vec->bv_offset > PAGE_SIZE;
}
bio->bi_io_vec->bv_len + bio->bi_io_vec->bv_offset > PAGE_SIZE;
}
-struct bio *__bio_split_to_limits(struct bio *bio, struct
request_queue *q
,
+struct bio *__bio_split_to_limits(struct bio *bio, struct
queue_limits *lim
,
unsigned int *nr_segs);
int ll_back_merge_fn(struct request *req, struct bio *bio,
unsigned int nr_segs);
unsigned int *nr_segs);
int ll_back_merge_fn(struct request *req, struct bio *bio,
unsigned int nr_segs);