Displaying 6 results from an estimated 6 matches for "xen_blkbk_map".
2012 Nov 02
2
[PATCH] xen-blk: persistent-grants fixes
...| 3 ++-
3 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/drivers/block/xen-blkback/blkback.c b/drivers/block/xen-blkback/blkback.c
index 663d42d..a059616 100644
--- a/drivers/block/xen-blkback/blkback.c
+++ b/drivers/block/xen-blkback/blkback.c
@@ -503,7 +503,7 @@ static int xen_blkbk_map(struct blkif_request *req,
* We are using persistent grants and
* the grant is already mapped
*/
- new_map = 0;
+ new_map = false;
} else if (use_persistent_gnts &&
blkif->persistent_gnt_c <
max_mapped_grant_pages(blkif->blk_protocol)) {
@@ -511,...
2012 Aug 16
0
[RFC v1 3/5] VBD: enlarge max segment per request in blkfront
...NTS_PER_REQUEST];
+ struct gnttab_unmap_grant_ref *unmap = req->unmap;
+ struct page **pages = req->pages;
unsigned int i, invcount = 0;
grant_handle_t handle;
int ret;
@@ -341,11 +368,13 @@ static void xen_blkbk_unmap(struct pending_req *req)
BUG_ON(ret);
}
+
static int xen_blkbk_map(struct blkif_request *req,
+ struct blkif_request_segment *seg_req,
struct pending_req *pending_req,
struct seg_buf seg[])
{
- struct gnttab_map_grant_ref map[BLKIF_MAX_SEGMENTS_PER_REQUEST];
+ struct gnttab_map_grant_ref *map = pending_req->ma...
2013 Mar 28
1
Xen Remus DRBD dual primary frozen
..._alloc_bs+0x68/0x100
[242640.332212] [<ffffffff811adf32>] ? bio_alloc_bioset+0xb2/0xf0
[242640.332219] [<ffffffff8108aa50>] ? add_wait_queue+0x60/0x60
[242640.332231] [<ffffffffa00e41bd>] drbd_make_request_common+0xc4d/0x1430
[drbd]
[242640.332239] [<ffffffffa01b83ce>] ? xen_blkbk_map+0x24e/0x2f0
[xen_blkback]
[242640.332245] [<ffffffff81301006>] ? throtl_find_tg+0x46/0x60
[242640.332257] [<ffffffffa00e4e04>] drbd_make_request+0x464/0x7e0 [drbd]
[242640.332264] [<ffffffff812f03bb>] ?
generic_make_request_checks+0x1eb/0x370
[242640.332269] [<ffffffff812f0...
2012 Apr 10
7
[PATCH v3 1/2] xen: enter/exit lazy_mmu_mode around m2p_override calls
...| 8 ++++++++
2 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/drivers/block/xen-blkback/blkback.c b/drivers/block/xen-blkback/blkback.c
index 0088bf6..0453695 100644
--- a/drivers/block/xen-blkback/blkback.c
+++ b/drivers/block/xen-blkback/blkback.c
@@ -386,6 +386,7 @@ static int xen_blkbk_map(struct blkif_request *req,
* so that when we access vaddr(pending_req,i) it has the contents of
* the page from the other domain.
*/
+ arch_enter_lazy_mmu_mode();
for (i = 0; i < nseg; i++) {
if (unlikely(map[i].status != 0)) {
pr_debug(DRV_PFX "invalid buffer -- could not...
2012 Sep 19
27
[PATCH] Persistent grant maps for xen blk drivers
...pages[i] = pers_gnt->page;
+ }
+
+ ret = gnttab_unmap_refs(unmap, pages, segs_to_unmap, false);
+ BUG_ON(ret);
+
+ blkif->pers_gnt_c -= segs_to_unmap;
+
+ }
+
if (log_stats)
print_stats(blkif);
@@ -343,13 +391,28 @@ static void xen_blkbk_unmap(struct pending_req *req)
static int xen_blkbk_map(struct blkif_request *req,
struct pending_req *pending_req,
- struct seg_buf seg[])
+ struct seg_buf seg[],
+ struct page *pages[])
{
struct gnttab_map_grant_ref map[BLKIF_MAX_SEGMENTS_PER_REQUEST];
+ struct pers_gnt *new_pers_gnts[BLKIF_MAX_SEGMENTS_PER_REQUEST];
+ struct pers_gnt...
2011 Sep 01
9
[PATCH V4 0/3] xen-blkfront/blkback discard support
Dear list,
This is the V4 of the trim support for xen-blkfront/blkback,
Now we move BLKIF_OP_TRIM to BLKIF_OP_DISCARD, and dropped all
"trim" stuffs in the patches, and use "discard" instead.
Also we updated the helpers of blkif_x86_{32|64}_request or we
will meet problems using a non-native protocol.
And this patch has been tested with both SSD and raw file,
with SSD we will