virtio-blk.c (a6f2cb037a82fb8679e70e175cfbc879dd829e06) | virtio-blk.c (631b22ea206300f09b9d1bb9249169e0f0092639) |
---|---|
1/* 2 * Virtio Block Device 3 * 4 * Copyright IBM, Corp. 2007 5 * 6 * Authors: 7 * Anthony Liguori <aliguori@us.ibm.com> 8 * --- 501 unchanged lines hidden (view full) --- 510 req->in = (void *)in_iov[in_num - 1].iov_base 511 + in_iov[in_num - 1].iov_len 512 - sizeof(struct virtio_blk_inhdr); 513 iov_discard_back(in_iov, &in_num, sizeof(struct virtio_blk_inhdr)); 514 515 type = virtio_ldl_p(VIRTIO_DEVICE(req->dev), &req->out.type); 516 517 /* VIRTIO_BLK_T_OUT defines the command direction. VIRTIO_BLK_T_BARRIER | 1/* 2 * Virtio Block Device 3 * 4 * Copyright IBM, Corp. 2007 5 * 6 * Authors: 7 * Anthony Liguori <aliguori@us.ibm.com> 8 * --- 501 unchanged lines hidden (view full) --- 510 req->in = (void *)in_iov[in_num - 1].iov_base 511 + in_iov[in_num - 1].iov_len 512 - sizeof(struct virtio_blk_inhdr); 513 iov_discard_back(in_iov, &in_num, sizeof(struct virtio_blk_inhdr)); 514 515 type = virtio_ldl_p(VIRTIO_DEVICE(req->dev), &req->out.type); 516 517 /* VIRTIO_BLK_T_OUT defines the command direction. VIRTIO_BLK_T_BARRIER |
518 * is an optional flag. Altough a guest should not send this flag if | 518 * is an optional flag. Although a guest should not send this flag if |
519 * not negotiated we ignored it in the past. So keep ignoring it. */ 520 switch (type & ~(VIRTIO_BLK_T_OUT | VIRTIO_BLK_T_BARRIER)) { 521 case VIRTIO_BLK_T_IN: 522 { 523 bool is_write = type & VIRTIO_BLK_T_OUT; 524 req->sector_num = virtio_ldq_p(VIRTIO_DEVICE(req->dev), 525 &req->out.sector); 526 --- 473 unchanged lines hidden --- | 519 * not negotiated we ignored it in the past. So keep ignoring it. */ 520 switch (type & ~(VIRTIO_BLK_T_OUT | VIRTIO_BLK_T_BARRIER)) { 521 case VIRTIO_BLK_T_IN: 522 { 523 bool is_write = type & VIRTIO_BLK_T_OUT; 524 req->sector_num = virtio_ldq_p(VIRTIO_DEVICE(req->dev), 525 &req->out.sector); 526 --- 473 unchanged lines hidden --- |