GlusterFS: Additional operations require synchronization

Bug #1267983 reported by Eric Harney
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Cinder
Fix Released
Medium
Eric Harney
Havana
Fix Released
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.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to cinder (master)

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

Changed in cinder:
status: New → In Progress
Eric Harney (eharney)
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)
Changed in cinder:
importance: Undecided → Medium
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to cinder (master)

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
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to cinder (stable/havana)

Fix proposed to branch: stable/havana
Review: https://review.openstack.org/67898

Thierry Carrez (ttx)
Changed in cinder:
status: Fix Committed → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to cinder (master)

Related fix proposed to branch: master
Review: https://review.openstack.org/68789

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to cinder (master)

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

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to cinder (stable/havana)

Related fix proposed to branch: stable/havana
Review: https://review.openstack.org/69387

Alan Pevec (apevec)
tags: removed: havana-backport-potential
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to cinder (stable/havana)

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
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to cinder (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)
Changed in cinder:
milestone: icehouse-2 → 2014.1
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.