2011/7/20 Kevin Wolf <kw...@redhat.com>: > Am 20.07.2011 09:57, schrieb Frediano Ziglio: >> Signed-off-by: Frediano Ziglio <fredd...@gmail.com> >> --- >> block/qcow.c | 2 +- >> 1 files changed, 1 insertions(+), 1 deletions(-) >> >> diff --git a/block/qcow.c b/block/qcow.c >> index 007fb57..8fd1ee5 100644 >> --- a/block/qcow.c >> +++ b/block/qcow.c >> @@ -499,7 +499,6 @@ static QCowAIOCB *qcow_aio_setup(BlockDriverState *bs, >> int64_t sector_num, QEMUIOVector *qiov, int nb_sectors, >> int is_write, QCowAIOCB *acb) >> { >> - memset(acb, 0, sizeof(*acb)); >> acb->bs = bs; >> acb->sector_num = sector_num; >> acb->qiov = qiov; >> @@ -509,6 +508,7 @@ static QCowAIOCB *qcow_aio_setup(BlockDriverState *bs, >> if (is_write) >> qemu_iovec_to_buffer(qiov, acb->buf); >> } else { >> + acb->orig_buf = NULL; >> acb->buf = (uint8_t *)qiov->iov->iov_base; >> } >> acb->nb_sectors = nb_sectors; > > What does this fix? Removing the memset looks like changing code for no > obvious reason. Is there any state in acb that must survive qcow_aio_setup? > > Kevin >
No, this is not a fix, just an optimization, memset was used to clear entire structure but all fields are set by qcow_aio_setup, only orig_buf left. The comment, I must admit is terrible! And it's mine! I'll rewrite all comments, perhaps merge some commits and send all patches again. Frediano