[Engine-devel] Floating Disks implementation in REST-API

Geert Jansen gjansen at redhat.com
Tue Apr 17 13:30:43 UTC 2012


>> 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.
  - 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



More information about the Engine-devel mailing list