Displaying 7 results from an estimated 7 matches for "fail_response".
2009 Apr 15
0
blkback driver I/O request size in Xen 3.3.0
...eg[i].last_sect -
434 req->seg[i].first_sect + 1;
435
436 if ((req->seg[i].last_sect >= (PAGE_SIZE >> 9)) ||
437 (req->seg[i].last_sect < req->seg[i].first_sect))
438 goto fail_response;
...
L436 check whether the number of sectors in a segment of the I/O request exceeds (PAGE_SIZE >> 9), which is 8 in x86, does that means vbd blkback driver would not handle I/O request larger than 4k, I''m a newbie to Xen, so would someone kindly explain the reason behind this, th...
2006 Aug 24
1
block ring interface: nr_segments = 0 results in BLKIF_RSP_ERROR
I am currently developing a blkfront.c for a custom OS over Xen 3.0.2-2. Typical I/O is working, however, I ran into an error while testing a corner case.
On standard I/O, where { 1 <= nr_segments < BLKIF_MAX_SEGMENTS_PER_REQUEST } blkif_int()''s bret->status returns BLKIF_RSP_OKAY.
Yet when { nr_segments == 0 } blkif_int''s bret->status is non-zero. (Yes
2012 Aug 16
0
[RFC v1 3/5] VBD: enlarge max segment per request in blkfront
...g[i].last_sect < req->u.rw.seg[i].first_sect))
+ seg[i].nsec = seg_req[i].last_sect -
+ seg_req[i].first_sect + 1;
+ if ((seg_req[i].last_sect >= (PAGE_SIZE >> 9)) ||
+ (seg_req[i].last_sect < seg_req[i].first_sect))
goto fail_response;
preq.nr_sects += seg[i].nsec;
@@ -676,7 +730,7 @@ static int dispatch_rw_block_io(struct xen_blkif *blkif,
* the hypercall to unmap the grants - that is all done in
* xen_blkbk_unmap.
*/
- if (xen_blkbk_map(req, pending_req, seg))
+ if (xen_blkbk_map(req, seg_req, pe...
2008 Nov 05
0
[PATCH] blktap: ensure vma->vm_mm''s mmap_sem is being held whenever it is being modified
...@@ -1356,6 +1373,7 @@ static void dispatch_rw_block_io(blkif_t
int pending_idx = RTN_PEND_IDX(pending_req,pending_req->mem_idx);
int usr_idx;
uint16_t mmap_idx = pending_req->mem_idx;
+ struct mm_struct *mm;
if (blkif->dev_num < 0 || blkif->dev_num > MAX_TAP_DEV)
goto fail_response;
@@ -1416,6 +1434,9 @@ static void dispatch_rw_block_io(blkif_t
pending_req->status = BLKIF_RSP_OKAY;
pending_req->nr_pages = nseg;
op = 0;
+ mm = info->vma->vm_mm;
+ if (!xen_feature(XENFEAT_auto_translated_physmap))
+ down_write(&mm->mmap_sem);
for (i = 0; i < n...
2012 Sep 19
27
[PATCH] Persistent grant maps for xen blk drivers
...ges[i],
seg[i].nsec << 9,
seg[i].buf & ~PAGE_MASK) == 0)) {
@@ -743,7 +859,8 @@ static int dispatch_rw_block_io(struct xen_blkif *blkif,
return 0;
fail_flush:
- xen_blkbk_unmap(pending_req);
+ if (!blkif->can_grant_persist)
+ xen_blkbk_unmap(pending_req);
fail_response:
/* Haven''t submitted any bio''s yet. */
make_response(blkif, req->u.rw.id, req->operation, BLKIF_RSP_ERROR);
diff --git a/drivers/block/xen-blkback/common.h b/drivers/block/xen-blkback/common.h
index 9ad3b5e..1ecb709 100644
--- a/drivers/block/xen-blkback/common.h
+++ b/...
2020 Oct 17
10
[RFC] treewide: cleanup unreachable breaks
...atement and by inspection made the subsequent break unneeded.
In order of frequency these look like
return and break
switch (c->x86_vendor) {
case X86_VENDOR_INTEL:
intel_p5_mcheck_init(c);
return 1;
- break;
goto and break
default:
operation = 0; /* make gcc happy */
goto fail_response;
- break;
break and break
case COLOR_SPACE_SRGB:
/* by pass */
REG_SET(OUTPUT_CSC_CONTROL, 0,
OUTPUT_CSC_GRPH_MODE, 0);
break;
- break;
The exception to the simple statement, is a switch case with a block
and the end of block is a return
struct obj_buffer *buff = r->...
2020 Oct 17
10
[RFC] treewide: cleanup unreachable breaks
...atement and by inspection made the subsequent break unneeded.
In order of frequency these look like
return and break
switch (c->x86_vendor) {
case X86_VENDOR_INTEL:
intel_p5_mcheck_init(c);
return 1;
- break;
goto and break
default:
operation = 0; /* make gcc happy */
goto fail_response;
- break;
break and break
case COLOR_SPACE_SRGB:
/* by pass */
REG_SET(OUTPUT_CSC_CONTROL, 0,
OUTPUT_CSC_GRPH_MODE, 0);
break;
- break;
The exception to the simple statement, is a switch case with a block
and the end of block is a return
struct obj_buffer *buff = r->...