[openstack-dev] [cinder][oslo] Locks for create from volume/snapshot

Duncan Thomas duncan.thomas at gmail.com
Sat Jun 27 07:21:00 UTC 2015


We are working on some sort of distributed replacement for the locks in
cinder, since file locks are limiting our ability to do HA. I'm afraid
you're unlikely to get any traction until that work is done.

I also have a concern that some backend do not handle load well, and so
benefit from the current serialisation. It might be necessary to push this
lock down into the driver and allow each driver to choose it's locking
model for snapshots.
On 27 Jun 2015 06:18, "niuzhenguo" <niuzhenguo at huawei.com> wrote:

>  Hi folks,
>
>
>
> Currently we use a lockfile to protect the create operations from
> concurrent delete the source volume/snapshot, we use exclusive
>
> locks on both delete and create sides which will ensure that:
>
>
>
> 1.       If a create of VolA from snap/VolB is in progress, any delete
> requests for snap/VolB will wait until the create is complete.
>
> 2.       If a delete of snap/VolA is in progress, any create from
> snap/VolA will wait until snap/VolA delete is complte.
>
>
>
> but, the exclusive locks will also result in:
>
>
>
> 3.       If a create of VolA from snap/VolB is inprogress, any other
> create requests from snap/VolB will wait until the create is complete.
>
>
>
> So the create operations from same volume/snapshot can not process on
> parallel, please reference bp [1].
>
> I’d like to change the current filelock or introduce a new lock to
> oslo.concurrency.
>
>
>
> Proposed change:
>
> Add exclusive(write) locks for delete operations and shared(read) locks
> for create operations, to ensure that create from volume/snapshot
>
> can work on parallel and protect create operations from concurrent delete
> the source volume/snapshot.
>
>
>
> I’d like to get what’s your suggestions, thanks in advance.
>
>
>
> [1] https://blueprints.launchpad.net/cinder/+spec/enhance-locks
>
>
>
>
>
> -zhenguo
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20150627/ae9df07e/attachment.html>


More information about the OpenStack-dev mailing list