GlusterFS: Additional operations require synchronization

Bug #1267983 reported by Eric Harney on 2014-01-10
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Cinder
Medium
Eric Harney
Havana
Medium
Eric Harney

Bug Description

Both create_cloned_volume() and copy_volume_to_image() need to be synchronized like other driver operations are to prevent collisions from concurrent updates of snapshot metadata or volume file data.

Fix proposed to branch: master
Review: https://review.openstack.org/66047

Changed in cinder:
status: New → In Progress
Eric Harney (eharney) on 2014-01-13
Changed in cinder:
milestone: none → icehouse-2
tags: added: drivers glusterfs havana-backport-potential
Changed in cinder:
assignee: Eric Harney (eharney) → John Griffith (john-griffith)
Changed in cinder:
assignee: John Griffith (john-griffith) → Eric Harney (eharney)
Eric Harney (eharney) on 2014-01-16
Changed in cinder:
importance: Undecided → Medium

Reviewed: https://review.openstack.org/66047
Committed: https://git.openstack.org/cgit/openstack/cinder/commit/?id=06999f610afc3a123f7a54895e39d690301a8eba
Submitter: Jenkins
Branch: master

commit 06999f610afc3a123f7a54895e39d690301a8eba
Author: Eric Harney <email address hidden>
Date: Fri Jan 10 14:20:41 2014 -0500

    GlusterFS: Synchronize additional operations

    create_cloned_volume() and copy_volume_to_image() should also be
    locked against other driver operations to prevent collisions
    from concurrent updates of snapshot metadata or volume file data.

    Closes-Bug: #1267983

    Change-Id: Idd6158bfbe4dc049c33fa58b40d3d570fc244d01

Changed in cinder:
status: In Progress → Fix Committed
Thierry Carrez (ttx) on 2014-01-22
Changed in cinder:
status: Fix Committed → Fix Released

Reviewed: https://review.openstack.org/68789
Committed: https://git.openstack.org/cgit/openstack/cinder/commit/?id=e9722f09dfd4b58e40afbf285ab9a7738a641dca
Submitter: Jenkins
Branch: master

commit e9722f09dfd4b58e40afbf285ab9a7738a641dca
Author: Eric Harney <email address hidden>
Date: Thu Jan 23 11:57:17 2014 -0500

    GlusterFS: Fix deadlock in volume clone

    The create_cloned_volume path could deadlock due to
    create_cloned_volume and create/delete_snapshot using the same
    lock for synchronization.

    Refactor the calls to create/delete snapshot to call the inner
    method which does not use a lock.

    Introduced by "06999f6 GlusterFS: Synchronize additional op..."

    Related-Bug: 1267983
    Closes-Bug: 1272092

    Change-Id: I84ca34b201c10644faa047f1c9274c14bcdd0359

Alan Pevec (apevec) on 2014-02-02
tags: removed: havana-backport-potential

Reviewed: https://review.openstack.org/67898
Committed: https://git.openstack.org/cgit/openstack/cinder/commit/?id=e0dca033349f20c5c1de7bdda93159ac0735eb36
Submitter: Jenkins
Branch: stable/havana

commit e0dca033349f20c5c1de7bdda93159ac0735eb36
Author: Eric Harney <email address hidden>
Date: Fri Jan 10 14:20:41 2014 -0500

    GlusterFS: Synchronize additional operations

    create_cloned_volume() and copy_volume_to_image() should also be
    locked against other driver operations to prevent collisions
    from concurrent updates of snapshot metadata or volume file data.

    Closes-Bug: #1267983

    (cherry picked from commit 06999f610afc3a123f7a54895e39d690301a8eba)

    Change-Id: Idd6158bfbe4dc049c33fa58b40d3d570fc244d01

tags: added: in-stable-havana

Reviewed: https://review.openstack.org/69387
Committed: https://git.openstack.org/cgit/openstack/cinder/commit/?id=69e687d38a662a1352e259be93765de0d20d19dc
Submitter: Jenkins
Branch: stable/havana

commit 69e687d38a662a1352e259be93765de0d20d19dc
Author: Eric Harney <email address hidden>
Date: Mon Dec 16 17:44:02 2013 -0500

    GlusterFS: Fix deadlock in volume clone

    The create_cloned_volume path could deadlock due to
    create_cloned_volume and create/delete_snapshot using the same
    lock for synchronization.

    Refactor the calls to create/delete snapshot to call the inner
    method which does not use a lock.

    Introduced by "06999f6 GlusterFS: Synchronize additional op..."

    Related-Bug: 1267983
    Closes-Bug: 1272092

    (cherry picked from commit e9722f09dfd4b58e40afbf285ab9a7738a641dca)

    Note: Effectively includes most changes from "8772714 Pylint fixes ..."
    to resolve conflicts.
    (cherry picked from commit 8772714b4fcb2d05ae7f0bfe5cfd0fa660ab9100)

    Conflicts:
            cinder/volume/drivers/glusterfs.py

    Change-Id: I84ca34b201c10644faa047f1c9274c14bcdd0359

Thierry Carrez (ttx) on 2014-04-17
Changed in cinder:
milestone: icehouse-2 → 2014.1
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers