> -----Original Message-----
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] On Behalf Of Avi Kivity
> Sent: Wednesday, September 03, 2008 4:12 PM
> To: KVM list
> Cc: H. Peter Anvin
> Subject: 63 sectors
> 
> Qemu sets the sectors-per-track setting of virtual disks to 63.  This 
> seems to be in accordance with the specs; drivers/ide/ide-disk.c says:
> 
> >         /*
> >          * The ATA spec tells large drives to return
> >          * C/H/S = 16383/16/63 independent of their size.
> >          * Some drives can be jumpered to use 15 heads 
> instead of 16.
> >          * Some drives can be jumpered to use 4092 cyls 
> instead of 16383.
> >          */
> >         if ((id->cyls == 16383
> >              || (id->cyls == 4092 && id->cur_cyls == 16383)) &&
> >             id->sectors == 63 &&
> >             (id->heads == 15 || id->heads == 16) &&
> >             (id->lba_capacity >= 16383*63*id->heads))
> >                 return 1;
> 
> That setting has some unfortunate side effects.  Partitioning 
> tools will 
> locate the first partition at the second cylinder, which is 
> at the 63rd 
> sector.  This means that if the guest uses a 4K block 
> filesystem on the 
> first partition (an incredibly common occurance), then every single 
> access will not be 4K aligned with respect to the virtual 
> block device.  
> This will cause fragmentation and read/modify/write cycles with:
> 
> - qcow2 (which uses aligned 4K blocks)
> - any host filesystem which uses 4K blocks
> - any host disk which uses 4K blocks (not yet common)
> 
> I can think of a few workarounds, all bad:
> - add a partitioning tool (or option to qemu-img) to format the disk, 
> placing the first partition on the fourth cylinder, aligning 
> it.  tell 
> the users not to wipe the disks out but instead install to one of the 
> existing parititions
> - add a tool to optimize an existing disk by extending it and 
> moving the 
> partitions around so they are aligned.  may break boot loaders.
> - make qcow4 use 512 byte sectors.  will increase overhead 
> and doesn't 
> solve problems on the host filesystem and disk.
> - have qcow51 detect misaligned accesses and adjust itself somehow.  
> doesn't help raw and other formats.  likely very difficult.
> 
> Does anybody know if scsi will have the same problems?  Can anyone 
> suggest other workarounds?
> 

How about adding 1 sector offset when access disk image.
So that it looks like the 63rd sector, but it's indeed the 64th.
N�����r��y����b�X��ǧv�^�)޺{.n�+����h����ܨ}���Ơz�&j:+v�������zZ+��+zf���h���~����i���z��w���?�����&�)ߢf

Reply via email to