[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] minios (blkfront): Add more information on block error
This notably prints the offset and size of the block operation in error. Signed-off-by: Samuel Thibault <samuel.thibault@xxxxxxxxxxxx> diff --git a/extras/mini-os/blkfront.c b/extras/mini-os/blkfront.c index f4283a9..22578a3 100644 --- a/extras/mini-os/blkfront.c +++ b/extras/mini-os/blkfront.c @@ -507,15 +507,19 @@ moretodo: aiocbp = (void*) (uintptr_t) rsp->id; status = rsp->status; - if (status != BLKIF_RSP_OKAY) - printk("block error %d for op %d\n", status, rsp->operation); - switch (rsp->operation) { case BLKIF_OP_READ: case BLKIF_OP_WRITE: { int j; + if (status != BLKIF_RSP_OKAY) + printk("%s error %d on %s at offset %llu, num bytes %llu\n", + rsp->operation == BLKIF_OP_READ?"read":"write", + status, aiocbp->aio_dev->nodename, + (unsigned long long) aiocbp->aio_offset, + (unsigned long long) aiocbp->aio_nbytes); + for (j = 0; j < aiocbp->n; j++) gnttab_end_access(aiocbp->gref[j]); @@ -523,11 +527,17 @@ moretodo: } case BLKIF_OP_WRITE_BARRIER: + if (status != BLKIF_RSP_OKAY) + printk("write barrier error %d\n", status); + break; case BLKIF_OP_FLUSH_DISKCACHE: + if (status != BLKIF_RSP_OKAY) + printk("flush error %d\n", status); break; default: - printk("unrecognized block operation %d response\n", rsp->operation); + printk("unrecognized block operation %d response (status %d)\n", rsp->operation, status); + break; } dev->ring.rsp_cons = ++cons; _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |