Blame view

drivers/xen/biomerge.c 617 Bytes
b24413180   Greg Kroah-Hartman   License cleanup: ...
1
  // SPDX-License-Identifier: GPL-2.0
d8e042060   Jeremy Fitzhardinge   xen: define BIOVE...
2
  #include <linux/bio.h>
9ef9b20bd   Stephen Rothwell   xen: using EXPORT...
3
  #include <linux/export.h>
c39ae60df   Christoph Hellwig   block: remove ARC...
4
  #include <xen/xen.h>
d8e042060   Jeremy Fitzhardinge   xen: define BIOVE...
5
  #include <xen/page.h>
0383ad437   Ming Lei   block: pass page ...
6
  /* check if @page can be merged with 'vec1' */
d8e042060   Jeremy Fitzhardinge   xen: define BIOVE...
7
  bool xen_biovec_phys_mergeable(const struct bio_vec *vec1,
0383ad437   Ming Lei   block: pass page ...
8
  			       const struct page *page)
d8e042060   Jeremy Fitzhardinge   xen: define BIOVE...
9
  {
36f8abd36   Julien Grall   xen/biomerge: Don...
10
  #if XEN_PAGE_SIZE == PAGE_SIZE
32e09870e   Julien Grall   xen: Make clear t...
11
  	unsigned long bfn1 = pfn_to_bfn(page_to_pfn(vec1->bv_page));
0383ad437   Ming Lei   block: pass page ...
12
  	unsigned long bfn2 = pfn_to_bfn(page_to_pfn(page));
d8e042060   Jeremy Fitzhardinge   xen: define BIOVE...
13

462cdace7   Roger Pau Monne   xen: fix bio vec ...
14
  	return bfn1 + PFN_DOWN(vec1->bv_offset + vec1->bv_len) == bfn2;
36f8abd36   Julien Grall   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   Gustavo A. R. Silva   xen/biomerge: Use...
20
  	return false;
36f8abd36   Julien Grall   xen/biomerge: Don...
21
  #endif
d8e042060   Jeremy Fitzhardinge   xen: define BIOVE...
22
  }