
On 04/17/2012 05:26 PM, Ori Liel wrote:
Floating disks should be both in the root context, and also in the VM context for each VM the floating disk is attached to, right? So floating disks would appear 1+N_attach times in the API, once in the root context, and once for each VM they are attached to.
IIUC a floating disk is not associated with the VM in any way, and should not appear in that VM's collection of disks. There's a similar feature of activate/deactivate disk (http://www.ovirt.org/wiki/Features/HotPlug). A deactivated disk is still associated with the VM, and should appear in the VM's collection of disks. Perhaps this is the source of confusion.
No that isn't it. I think have a bit of terminology mismatch. According to:
http://www.ovirt.org/wiki/Features/DetailedFloatingDisk
i think your use of the word floating is correct. I got confused as i thought that any disk could be floating, whether it was attached to 0 VMs, 1 VM, or 2 or more VMs.
So before we go further, let's get things straight:
- disk without any VMs => floating. It appears in the root context. - disk attached to 1 VM => normal state. It appears in the VM context.
I think this type of disk should be shown in both contexts.
If a user is looking at http://{host:port}/disks, I think he intuitively expects to see all disks (attached or unattached). A disk will contain reference to the VMs which it is attached to, and thus:
- No VM-ids --> floating disk. - One VM-id --> regular disk. - Multiple VM-ids --> shared disk.
iirc, shared disk is a flag on the disk to allow it to be shared. doesn't mean it is shared yet, rather can be shared.
- disk attached to 2 VMs => shared disk. It appears in both VM contexts.
Is that correct?
Also can someone explain on how floating and shared disks are actually implemented in the BE? I imagine it's one of two ways:
=> The BE keep a global list of disks, each disk with zero or more references to a VM. => The BE keeps a special "floating" state independent of the number of VMs that it is attached to.
Thanks, Geert
Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel