xen/biomerge: Don't allow biovec's to be merged when Linux is not using 4KB pages
[firefly-linux-kernel-4.4.55.git] / drivers / xen / biomerge.c
index 8ae2fc90e1ea88a27325927e108b777e226c6f13..4da69dbf7dcad7f2e2898dd807a118596f86058a 100644 (file)
@@ -6,10 +6,18 @@
 bool xen_biovec_phys_mergeable(const struct bio_vec *vec1,
                               const struct bio_vec *vec2)
 {
+#if XEN_PAGE_SIZE == PAGE_SIZE
        unsigned long bfn1 = pfn_to_bfn(page_to_pfn(vec1->bv_page));
        unsigned long bfn2 = pfn_to_bfn(page_to_pfn(vec2->bv_page));
 
        return __BIOVEC_PHYS_MERGEABLE(vec1, vec2) &&
                ((bfn1 == bfn2) || ((bfn1+1) == bfn2));
+#else
+       /*
+        * XXX: Add support for merging bio_vec when using different page
+        * size in Xen and Linux.
+        */
+       return 0;
+#endif
 }
 EXPORT_SYMBOL(xen_biovec_phys_mergeable);