Skip to content

Commit

Permalink
iotests/129: Limit mirror job's buffer size
Browse files Browse the repository at this point in the history
Issuing 'stop' on the VM drains all nodes.  If the mirror job has many
large requests in flight, this may lead to significant I/O that looks a
bit like 'stop' would make the job try to complete (which is what 129
should verify not to happen).

We can limit the I/O in flight by limiting the buffer size, so mirror
will make very little progress during the 'stop' drain.

(We do not need to do anything about commit, which has a buffer size of
512 kB by default; or backup, which goes cluster by cluster.  Once we
have asynchronous requests for backup, that will change, but then we can
fine-tune the backup job to only perform a single request on a very
small chunk, too.)

Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Willian Rampazzo <willianr@redhat.com>
Message-Id: <20210118105720.14824-9-mreitz@redhat.com>
  • Loading branch information
XanClic committed Jan 26, 2021
1 parent 55557b0 commit 20c15f7
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion tests/qemu-iotests/129
Expand Up @@ -68,7 +68,7 @@ class TestStopWithBlockJob(iotests.QMPTestCase):
def test_drive_mirror(self):
self.do_test_stop("drive-mirror", device="drive0",
target=self.target_img, format=iotests.imgfmt,
sync="full")
sync="full", buf_size=65536)

def test_drive_backup(self):
self.do_test_stop("drive-backup", device="drive0",
Expand Down

0 comments on commit 20c15f7

Please sign in to comment.