search for: blkback_invalid_handl

Displaying 8 results from an estimated 8 matches for "blkback_invalid_handl".

Did you mean: blkback_invalid_handle
2012 Nov 02
2
[PATCH] xen-blk: persistent-grants fixes
This patch contains fixes for persistent grants implementation v2: * handle == 0 is a valid handle, so initialize grants in blkback setting the handle to BLKBACK_INVALID_HANDLE instead of 0. Reported by Konrad Rzeszutek Wilk. * new_map is a boolean, use "true" or "false" instead of 1 and 0. Reported by Konrad Rzeszutek Wilk. * blkfront announces the persistent-grants feature as feature-persistent-grants, use feature-persistent instead whi...
2013 Feb 28
1
[PATCH RFC 09/12] xen-blkback: move pending handles list from blkbk to pending_req
...n-blkback/blkback.c @@ -136,6 +136,7 @@ struct pending_req { struct list_head free_list; struct persistent_gnt *persistent_gnts[BLKIF_MAX_SEGMENTS_PER_REQUEST]; struct page *pages[BLKIF_MAX_SEGMENTS_PER_REQUEST]; + grant_handle_t grant_handles[BLKIF_MAX_SEGMENTS_PER_REQUEST]; }; #define BLKBACK_INVALID_HANDLE (~0) @@ -147,8 +148,6 @@ struct xen_blkbk { /* And its spinlock. */ spinlock_t pending_free_lock; wait_queue_head_t pending_free_wq; - /* And the grant handles that are available. */ - grant_handle_t *pending_grant_handles; }; static struct xen_blkbk *blkbk; @@ -226,7 +225,7 @@ static...
2005 Nov 06
2
Bug in use of grant tables in blkback.c error path?
...after the erroneous one are not set up when fast_flush area is called. Here''s the bit of fast_flush_area that uses pending_handle: for (i = 0; i < nr_pages; i++) { handle = pending_handle(idx, i); <<<<<<<<<<<<<<<<< if (handle == BLKBACK_INVALID_HANDLE) continue; unmap[i].host_addr = MMAP_VADDR(idx, i); unmap[i].dev_bus_addr = 0; unmap[i].handle = handle; pending_handle(idx, i) = BLKBACK_INVALID_HANDLE; invcount++; } I also checked the implementation of gnttab_map_grant_ref: static long gnttab_map_grant_ref( g...
2012 Aug 16
0
[RFC v1 5/5] VBD: enlarge max segment per request in blkfront
...;max_seg; spin_lock_irqsave(&blkbk->pending_free_lock, flags); if (!list_empty(&blkbk->pending_free)) { @@ -315,8 +319,10 @@ static void xen_blkbk_unmap(struct pending_req *req) for (i = 0; i < req->nr_pages; i++) { handle = pending_handle(req, i); - if (handle == BLKBACK_INVALID_HANDLE) + if (handle == BLKBACK_INVALID_HANDLE) { + printk("BLKBACK_INVALID_HANDLE\n"); continue; + } gnttab_set_unmap_op(&unmap[invcount], vaddr(req, i), GNTMAP_host_map, handle); pending_handle(req, i) = BLKBACK_INVALID_HANDLE; @@ -486,6 +492,12 @@ void *get_back_ri...
2011 Dec 01
11
[PATCH 0 of 2] Paging support updates for XCP dom0
This is a cherry pick of two patches that add support for guest paged out frames in the XCP 2.6.32 dom0 patch queue. First patch propagates the ENOENT returned by the hypervisor in the case of a paged out page, all the way up the call chain to the MMAPBATCH_V2 ioctl. The ioctl is mainly used to harvest those return values and retry. The second patch adds retry loops to all backend grant
2012 Sep 19
27
[PATCH] Persistent grant maps for xen blk drivers
....c b/drivers/block/xen-blkback/blkback.c index 73f196c..f95dee9 100644 --- a/drivers/block/xen-blkback/blkback.c +++ b/drivers/block/xen-blkback/blkback.c @@ -78,6 +78,7 @@ struct pending_req { unsigned short operation; int status; struct list_head free_list; + u8 is_pers; }; #define BLKBACK_INVALID_HANDLE (~0) @@ -128,6 +129,24 @@ static int dispatch_rw_block_io(struct xen_blkif *blkif, static void make_response(struct xen_blkif *blkif, u64 id, unsigned short op, int st); +static void add_pers_gnt(struct pers_gnt *pers_gnt, struct xen_blkif *blkif) +{ + BUG_ON(blkif->pers_gnt_c >= BL...
2012 Aug 16
0
[RFC v1 3/5] VBD: enlarge max segment per request in blkfront
...rt operation; int status; struct list_head free_list; + struct gnttab_map_grant_ref *map; + struct gnttab_unmap_grant_ref *unmap; + struct seg_buf *seg; + struct bio **biolist; + struct page **pages; }; #define BLKBACK_INVALID_HANDLE (~0) @@ -123,28 +133,9 @@ static inline unsigned long vaddr(struct pending_req *req, int seg) static int do_block_io_op(struct xen_blkif *blkif); static int dispatch_rw_block_io(struct xen_blkif *blkif, - struct blkif_request *req, struct pending_req *pendin...
2010 Sep 15
15
xenpaging fixes for kernel and hypervisor
Patrick, there following patches fix xenpaging for me. Granttable handling is incomplete. If a page is gone, a GNTST_eagain should be returned to the caller to inidcate the hypercall has to be retried after a while, until the page is available again. Please review. Olaf _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com