Commit 908c7b9f788b6faed2fbfdf19920770614f8e853

Authored by Gerd Hoffmann
Committed by Blue Swirl
1 parent 70503264

xen_disk: move sanity check to the correct place

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Showing 1 changed file with 5 additions and 4 deletions
hw/xen_disk.c
@@ -179,10 +179,6 @@ static int ioreq_parse(struct ioreq *ioreq) @@ -179,10 +179,6 @@ static int ioreq_parse(struct ioreq *ioreq)
179 switch (ioreq->req.operation) { 179 switch (ioreq->req.operation) {
180 case BLKIF_OP_READ: 180 case BLKIF_OP_READ:
181 ioreq->prot = PROT_WRITE; /* to memory */ 181 ioreq->prot = PROT_WRITE; /* to memory */
182 - if (ioreq->req.operation != BLKIF_OP_READ && blkdev->mode[0] != 'w') {  
183 - xen_be_printf(&blkdev->xendev, 0, "error: write req for ro device\n");  
184 - goto err;  
185 - }  
186 break; 182 break;
187 case BLKIF_OP_WRITE_BARRIER: 183 case BLKIF_OP_WRITE_BARRIER:
188 if (!syncwrite) 184 if (!syncwrite)
@@ -199,6 +195,11 @@ static int ioreq_parse(struct ioreq *ioreq) @@ -199,6 +195,11 @@ static int ioreq_parse(struct ioreq *ioreq)
199 goto err; 195 goto err;
200 }; 196 };
201 197
  198 + if (ioreq->req.operation != BLKIF_OP_READ && blkdev->mode[0] != 'w') {
  199 + xen_be_printf(&blkdev->xendev, 0, "error: write req for ro device\n");
  200 + goto err;
  201 + }
  202 +
202 ioreq->start = ioreq->req.sector_number * blkdev->file_blk; 203 ioreq->start = ioreq->req.sector_number * blkdev->file_blk;
203 for (i = 0; i < ioreq->req.nr_segments; i++) { 204 for (i = 0; i < ioreq->req.nr_segments; i++) {
204 if (i == BLKIF_MAX_SEGMENTS_PER_REQUEST) { 205 if (i == BLKIF_MAX_SEGMENTS_PER_REQUEST) {