Porting the block-iscsi hotplug script
    Roger Pau Monné 
    roger.pau at citrix.com
       
    Fri Mar  4 15:54:15 UTC 2016
    
    
  
On Fri, 4 Mar 2016, Gustau Pérez wrote:
> El 4/03/16 a les 11:00, Roger Pau Monné ha escrit:
> >
> > What other parameters do you want to pass to your script that cannot be 
> > fetched from xenstore? IMHO I was planning to only pass the xenstore 
> > backend node and the action.
> 
>    The action (if I understand it correctly) is already there.
Yes, the xenstore backend path is $1 and the action $2.
> 
>    OTOH, I'd like to check if the disks are already in use, and so I'd
> need to walk the /local/domain/0/backend/vbd/$domin/$devid/ looking if
> the disks are already there. This arises two questions:
> 
>   * can I assume the domain0 store would always be /local/domain/0/?
Hm, I wouldn't be on it. This is true in the most common scenario, where 
Dom0 (domain with id 0) runs all the backends. But if you are using a 
driver domain or a radically disagregated system (where control domain != 
hardware domain) this is no longer true. So in general you shouldn't make 
this assumption.
>   * would I need to walk for each $domid checking for each $devid and
>     getting the physical device?
Linux already has some code to do this checking, but this also involves 
taking a lock in order to make sure there's only one hotplug script 
performing this check at the same time.
The Linux function that performs this checking is in:
http://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=tools/hotplug/Linux/block;h=2691b56951c9b82094471a141b9e0bed04abb929;hb=HEAD#l40
And the caller is:
http://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=tools/hotplug/Linux/block;h=2691b56951c9b82094471a141b9e0bed04abb929;hb=HEAD#l275
If you take a look, the call to check_device_sharing is protected with the 
"block" lock.
Roger.
    
    
More information about the freebsd-xen
mailing list