block: properly wind back iovec iterator now

This commit is contained in:
Matheus
2024-09-21 17:07:52 -03:00
parent 67546178f5
commit c29532a2c4
2 changed files with 14 additions and 3 deletions
+7
View File
@@ -135,6 +135,13 @@ static int vioblk_rw(vioblkdev_t *blkdev, iovec_iterator_t *iovec_iterator, uint
pmm_release(page);
// if we didnt use the whole space in the page, set the iterator back a bit
size_t diff_between_available_and_used = page_remaining - docount * 512;
if (diff_between_available_and_used) {
size_t iterator_offset = iovec_iterator_total_offset(iovec_iterator);
iovec_iterator_set(iovec_iterator, iterator_offset - diff_between_available_and_used);
}
if (*statushhdm) {
err = EIO;
break;