Same question for allocate_clusters() in parallels.c, commit 5a41e1f,
modified in commit ddd2ef2:
if (s->data_end + space > bdrv_getlength(bs->file->bs) >> BDRV_SECTOR_BITS)
{
bdrv_getlength() can fail. Does it do the right thing then? For what
it's worth, the comparison of its value is signed.
There's another one in parallels_open():
if (!(flags & BDRV_O_RESIZE) || !bdrv_has_zero_init(bs->file->bs) ||
bdrv_truncate(bs->file, bdrv_getlength(bs->file->bs),
PREALLOC_MODE_OFF, NULL) != 0) {
s->prealloc_mode = PRL_PREALLOC_MODE_FALLOCATE;
}