On Tue, Sep 05, 2017 at 11:52:15AM +0200, Kevin Wolf wrote: > Am 31.08.2017 um 13:05 hat Daniel P. Berrange geschrieben: > > Signed-off-by: Daniel P. Berrange <berra...@redhat.com> > > --- > > block/crypto.c | 32 ++++++++++++++++---------------- > > 1 file changed, 16 insertions(+), 16 deletions(-) > > I'm actually not sure about this one. Anything that is left after > patch 3 is probably not the arbitrary unit that qemu uses internally > for some interfaces, but the unit in which data is encrypted. > > Basically, if just for fun we ever changed the unit of things like > bdrv_write() from 512 to 4096, then everything that needs to or at least > can be changed to use 4096 is BDRV_SECTOR_SIZE. But everything that > needs to stay on 512 (like I suspect most of the occurrences in the > crypto driver) is a different constant really (QCRYPTO_SECTOR_SIZE?).
Yeah for sure LUKSv1 & legacy qcow2 encryption need to stay 512 forever, so if BDRV_SECTOR_SIZE were to change that would be a problem. I wrote this on the assumption that we would never change BDRV_SECTOR_SIZE though. If we did need different sector sizes in the block layer I figured it would surely end up being a dynamic property per disk, rather than just changing the compile time constant. So from that POV I thought it ok to use BDRV_SECTOR_SIZE. Perhaps I should instead add a qcrypto_block_get_sector_size() API though and use that, so we can fetch the sector size per encryption scheme in case we ever get a scheme using a non-512 sector size for encryption. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|