Blame view
drivers/xen/biomerge.c
617 Bytes
b24413180 License cleanup: ... |
1 |
// SPDX-License-Identifier: GPL-2.0 |
d8e042060 xen: define BIOVE... |
2 |
#include <linux/bio.h> |
9ef9b20bd xen: using EXPORT... |
3 |
#include <linux/export.h> |
c39ae60df block: remove ARC... |
4 |
#include <xen/xen.h> |
d8e042060 xen: define BIOVE... |
5 |
#include <xen/page.h> |
0383ad437 block: pass page ... |
6 |
/* check if @page can be merged with 'vec1' */ |
d8e042060 xen: define BIOVE... |
7 |
bool xen_biovec_phys_mergeable(const struct bio_vec *vec1, |
0383ad437 block: pass page ... |
8 |
const struct page *page) |
d8e042060 xen: define BIOVE... |
9 |
{ |
36f8abd36 xen/biomerge: Don... |
10 |
#if XEN_PAGE_SIZE == PAGE_SIZE |
32e09870e xen: Make clear t... |
11 |
unsigned long bfn1 = pfn_to_bfn(page_to_pfn(vec1->bv_page)); |
0383ad437 block: pass page ... |
12 |
unsigned long bfn2 = pfn_to_bfn(page_to_pfn(page)); |
d8e042060 xen: define BIOVE... |
13 |
|
462cdace7 xen: fix bio vec ... |
14 |
return bfn1 + PFN_DOWN(vec1->bv_offset + vec1->bv_len) == bfn2; |
36f8abd36 xen/biomerge: Don... |
15 16 17 18 19 |
#else /* * XXX: Add support for merging bio_vec when using different page * size in Xen and Linux. */ |
bf06bad95 xen/biomerge: Use... |
20 |
return false; |
36f8abd36 xen/biomerge: Don... |
21 |
#endif |
d8e042060 xen: define BIOVE... |
22 |
} |