Il 24/06/2013 18:10, Peter Lieven ha scritto: > Am 24.06.2013 16:30, schrieb Paolo Bonzini: >> Il 22/06/2013 22:58, Peter Lieven ha scritto: >>> if the blocksize of an iSCSI LUN is bigger than the BDRV_SECTOR_SIZE >>> it is possible that sector_num or nb_sectors are not correctly >>> alligned. >>> >>> for now assert that there is no misalignment to avoid data >>> corruption. >> You should just fail to open the LUN instead. > Ronnie added support for reading fragments of blocksize if the > offset is aligned. I don't know what the idea was, maybe for qemu > reading the boot sector. If the OS does only read multiple of > blocksize at aligned offsets everything should work. I now that > our storages support 4K blocksize. I can check if it is usable. > I could also just fail the operations instead of asserting.
So far, 4K blocksize is usable if you also specify the same block size for the guest device. I have posted once the patches to do read-modify-write, but I never really pursued inclusion of those. In any case, the right place to fix this is the block layer; driver-specific hacks are... hacks. :) Paolo