@@ -3593,8 +3593,6 @@ raw_co_zone_append(BlockDriverState *bs,
BdrvRequestFlags flags) {
assert(flags == 0);
int64_t zone_size_mask = bs->bl.zone_size - 1;
- int64_t iov_len = 0;
- int64_t len = 0;
if (*offset & zone_size_mask) {
error_report("sector offset %" PRId64 " is not aligned to zone size "
@@ -3602,20 +3600,8 @@ raw_co_zone_append(BlockDriverState *bs,
return -EINVAL;
}
- int64_t wg = bs->bl.write_granularity;
- int64_t wg_mask = wg - 1;
- for (int i = 0; i < qiov->niov; i++) {
- iov_len = qiov->iov[i].iov_len;
- if (iov_len & wg_mask) {
- error_report("len of IOVector[%d] %" PRId64 " is not aligned to "
- "block size %" PRId64 "", i, iov_len, wg);
- return -EINVAL;
- }
- len += iov_len;
- }
-
trace_zbd_zone_append(bs, *offset >> BDRV_SECTOR_BITS);
- return raw_co_prw(bs, offset, len, qiov, QEMU_AIO_ZONE_APPEND, 0);
+ return raw_co_prw(bs, offset, qiov->size, qiov, QEMU_AIO_ZONE_APPEND, 0);
}
#endif