These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / xen / biomerge.c
index 0edb91c..4da69db 100644 (file)
@@ -6,10 +6,18 @@
 bool xen_biovec_phys_mergeable(const struct bio_vec *vec1,
                               const struct bio_vec *vec2)
 {
-       unsigned long mfn1 = pfn_to_mfn(page_to_pfn(vec1->bv_page));
-       unsigned long mfn2 = pfn_to_mfn(page_to_pfn(vec2->bv_page));
+#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) &&
-               ((mfn1 == mfn2) || ((mfn1+1) == mfn2));
+               ((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);