aboutsummaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2018-09-25 13:30:08 -0700
committerJens Axboe <axboe@kernel.dk>2018-09-26 08:45:11 -0600
commitc39ae60dfbda66922f644193b91850abcd4d588c (patch)
tree2a3eafebe82a25988083d79cdd74ca2b0fa696db /block
parentxen: provide a prototype for xen_biovec_phys_mergeable in xen.h (diff)
downloadlinux-dev-c39ae60dfbda66922f644193b91850abcd4d588c.tar.xz
linux-dev-c39ae60dfbda66922f644193b91850abcd4d588c.zip
block: remove ARCH_BIOVEC_PHYS_MERGEABLE
Take the Xen check into the core code instead of delegating it to the architectures. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block')
-rw-r--r--block/blk.h7
1 files changed, 2 insertions, 5 deletions
diff --git a/block/blk.h b/block/blk.h
index 50f74ce60453..58c030f727e9 100644
--- a/block/blk.h
+++ b/block/blk.h
@@ -4,6 +4,7 @@
#include <linux/idr.h>
#include <linux/blk-mq.h>
+#include <xen/xen.h>
#include "blk-mq.h"
/* Amount of time in which a process may batch requests */
@@ -149,10 +150,6 @@ static inline void blk_queue_enter_live(struct request_queue *q)
percpu_ref_get(&q->q_usage_counter);
}
-#ifndef ARCH_BIOVEC_PHYS_MERGEABLE
-#define ARCH_BIOVEC_PHYS_MERGEABLE(vec1, vec2) true
-#endif
-
static inline bool biovec_phys_mergeable(struct request_queue *q,
struct bio_vec *vec1, struct bio_vec *vec2)
{
@@ -162,7 +159,7 @@ static inline bool biovec_phys_mergeable(struct request_queue *q,
if (addr1 + vec1->bv_len != addr2)
return false;
- if (!ARCH_BIOVEC_PHYS_MERGEABLE(vec1, vec2))
+ if (xen_domain() && !xen_biovec_phys_mergeable(vec1, vec2))
return false;
if ((addr1 | mask) != ((addr2 + vec2->bv_len - 1) | mask))
return false;