Hi, We've been working on a program called sync_manager that implements shared-storage-based leases to protect shared resources. One way we'd like to use it is to protect vm images that reside on shared storage, i.e. preventing two vm's on two hosts from using the same image at once. It's functional, and the next big step is using it through libvirt. sync_manager "wraps" a process, i.e. acquires a lease, forks&execs a process, renews the lease wile the process runs, and releases the lease when the process exits. While the process runs, it has exclusive access to whatever resource was named in the lease that was acquired. A command would be something like this: sync_manager daemon -i <host_id> -n <vm_id> -l <lease> -c <command> <args> <host_id> is integer between 1 and 2000 that is statically assigned to each host. <vm_id> is a unique identifer for the process that will be run, e.g. the vm name or uuid. <lease> defines the shared storage area that sync_manager should use for performing the disk-paxos based synchronization. It consists of <resource_name>:<path>:<offset>, where <resource_name> is likely to be the vm name/uuid (or the name of the vm's disk image), and <path>:<offset> is an area of shared storage that has been allocated for sync_manager to use (a separate area for each resource/vm). <command> <args> would be the qemu command line that is currently used. We expect these new config values will need a place to live in the libvirt xml config file, and libvirt will need to fork sync_manager -c qemu rather than qemu directly. At least those are the most obvious things that need doing, there are sure to be other api or functional issues. sync_manager only forks when running the command, and doesn't change any fd's, so any command output should appear unchanged to libvirt. Would there be any problem with sync_manager also printing its own warnings and errors to stderr? While the main point of sync_manager is the disk leases to synchronize access among hosts, it also uses posix locks to synchronize access among local processes. http://git.fedorahosted.org/git/?p=sync_manager.git Thanks, Dave -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list