I don't understand this series very well. So could you help me answer the following questions? 1. This patch aims to add 4k logical support for qemu running on a host with 4k logical block size, right? For guest, we can use logical_block_size=4096 to achieve that even on a host with the logical_block_size of 512. Am I right?
2. Can we just call bdrv_get_alignment in bdrv_open_common once and use the stored buffer_alignment for future usage instead of always calling bdrv_get_alignment in qemu_blockalign/qiov_is_aligned. What's the benefit of the dynamic way? Thanks. 2011/11/24 Paolo Bonzini <pbonz...@redhat.com> > This series adds support for 4k logical blocks by bouncing requests > unless the host's logical_block_size is also 4096. > > Paolo Bonzini (3): > block: add bdrv_get_alignment, use it > raw: implement raw_get_alignment > block: do not rely on the buffer alignment passed to the guest > > block.c | 34 +++++++++++++++++++++++--- > block.h | 3 +- > block/raw-posix.c | 68 > ++++++++++++++++++++++++++++++++++++++++++----------- > block/raw-win32.c | 45 +++++++++++++++++++++++++++++++++++ > block_int.h | 1 + > hw/ide/core.c | 2 +- > hw/scsi-disk.c | 2 +- > hw/scsi-generic.c | 1 - > hw/virtio-blk.c | 2 +- > 9 files changed, 135 insertions(+), 23 deletions(-) > > -- > 1.7.7.1 > > >