block: pass page to xen_biovec_phys_mergeable
xen_biovec_phys_mergeable() only needs .bv_page of the 2nd bio bvec for checking if the two bvecs can be merged, so pass page to xen_biovec_phys_mergeable() directly. No function change. Cc: ris Ostrovsky <boris.ostrovsky@oracle.com> Cc: Juergen Gross <jgross@suse.com> Cc: xen-devel@lists.xenproject.org Cc: Omar Sandoval <osandov@fb.com> Cc: Christoph Hellwig <hch@lst.de> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com> Signed-off-by: Ming Lei <ming.lei@redhat.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
56a85fd837
commit
0383ad4374
|
@ -75,7 +75,7 @@ static inline bool biovec_phys_mergeable(struct request_queue *q,
|
|||
|
||||
if (addr1 + vec1->bv_len != addr2)
|
||||
return false;
|
||||
if (xen_domain() && !xen_biovec_phys_mergeable(vec1, vec2))
|
||||
if (xen_domain() && !xen_biovec_phys_mergeable(vec1, vec2->bv_page))
|
||||
return false;
|
||||
if ((addr1 | mask) != ((addr2 + vec2->bv_len - 1) | mask))
|
||||
return false;
|
||||
|
|
|
@ -4,12 +4,13 @@
|
|||
#include <xen/xen.h>
|
||||
#include <xen/page.h>
|
||||
|
||||
/* check if @page can be merged with 'vec1' */
|
||||
bool xen_biovec_phys_mergeable(const struct bio_vec *vec1,
|
||||
const struct bio_vec *vec2)
|
||||
const struct page *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));
|
||||
unsigned long bfn2 = pfn_to_bfn(page_to_pfn(page));
|
||||
|
||||
return bfn1 + PFN_DOWN(vec1->bv_offset + vec1->bv_len) == bfn2;
|
||||
#else
|
||||
|
|
|
@ -43,8 +43,10 @@ extern struct hvm_start_info pvh_start_info;
|
|||
#endif /* CONFIG_XEN_DOM0 */
|
||||
|
||||
struct bio_vec;
|
||||
struct page;
|
||||
|
||||
bool xen_biovec_phys_mergeable(const struct bio_vec *vec1,
|
||||
const struct bio_vec *vec2);
|
||||
const struct page *page);
|
||||
|
||||
#if defined(CONFIG_MEMORY_HOTPLUG) && defined(CONFIG_XEN_BALLOON)
|
||||
extern u64 xen_saved_max_mem_size;
|
||||
|
|
Loading…
Reference in a new issue