|
@@ -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;
|