X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fext4_blockdev.c;h=205cd7a9ace9f6bfaae020842c0920259dcc4953;hb=4c155036f9ce3a74bc3eb3bb79725616d3b6c125;hp=19653bb8d8c0603d6f804946a08a315780009d91;hpb=1a96ef0a24a443094ad3c0293387a70e607227ee;p=lwext4.git diff --git a/src/ext4_blockdev.c b/src/ext4_blockdev.c index 19653bb..205cd7a 100644 --- a/src/ext4_blockdev.c +++ b/src/ext4_blockdev.c @@ -350,14 +350,16 @@ int ext4_block_writebytes(struct ext4_blockdev *bdev, uint64_t off, /*Aligned data*/ blen = len / bdev->bdif->ph_bsize; - r = ext4_bdif_bwrite(bdev, p, block_idx, blen); - if (r != EOK) - return r; + if (blen != 0) { + r = ext4_bdif_bwrite(bdev, p, block_idx, blen); + if (r != EOK) + return r; - p += bdev->bdif->ph_bsize * blen; - len -= bdev->bdif->ph_bsize * blen; + p += bdev->bdif->ph_bsize * blen; + len -= bdev->bdif->ph_bsize * blen; - block_idx += blen; + block_idx += blen; + } /*Rest of the data*/ if (len) { @@ -416,14 +418,16 @@ int ext4_block_readbytes(struct ext4_blockdev *bdev, uint64_t off, void *buf, /*Aligned data*/ blen = len / bdev->bdif->ph_bsize; - r = ext4_bdif_bread(bdev, p, block_idx, blen); - if (r != EOK) - return r; + if (blen != 0) { + r = ext4_bdif_bread(bdev, p, block_idx, blen); + if (r != EOK) + return r; - p += bdev->bdif->ph_bsize * blen; - len -= bdev->bdif->ph_bsize * blen; + p += bdev->bdif->ph_bsize * blen; + len -= bdev->bdif->ph_bsize * blen; - block_idx += blen; + block_idx += blen; + } /*Rest of the data*/ if (len) {