summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorTony Asleson <tasleson@redhat.com>2015-04-07 15:25:20 -0500
committerTony Asleson <tasleson@redhat.com>2015-04-10 10:38:43 -0500
commit2b557b595a52782458b0d217d2ca114c7f8c62c7 (patch)
tree82cd2790e6d3c4bcc76920ece2fe21dd5533004e /python
parent394250ef6759243e59de41dd6cfced544c041c76 (diff)
downloadlvm2-2b557b595a52782458b0d217d2ca114c7f8c62c7.tar.gz
python: Make lv addTag/removeTag persistent
Added lvm_vg_write in the addTag/removeTag paths to make the changes persist. Added unit test to ensure functionality. https://bugzilla.redhat.com/show_bug.cgi?id=1210020 Signed-off-by: Tony Asleson <tasleson@redhat.com>
Diffstat (limited to 'python')
-rw-r--r--python/liblvm.c27
1 files changed, 18 insertions, 9 deletions
diff --git a/python/liblvm.c b/python/liblvm.c
index 3828f2707..74d65ead5 100644
--- a/python/liblvm.c
+++ b/python/liblvm.c
@@ -1444,13 +1444,18 @@ static PyObject *_liblvm_lvm_lv_add_tag(lvobject *self, PyObject *args)
if (!PyArg_ParseTuple(args, "s", &tag))
return NULL;
- if (lvm_lv_add_tag(self->lv, tag) == -1) {
- PyErr_SetObject(_LibLVMError, _liblvm_get_last_error());
- return NULL;
- }
+ if (lvm_lv_add_tag(self->lv, tag) == -1)
+ goto error;
+
+ if (lvm_vg_write(self->parent_vgobj->vg) == -1)
+ goto error;
Py_INCREF(Py_None);
return Py_None;
+
+error:
+ PyErr_SetObject(_LibLVMError, _liblvm_get_last_error());
+ return NULL;
}
static PyObject *_liblvm_lvm_lv_remove_tag(lvobject *self, PyObject *args)
@@ -1462,14 +1467,18 @@ static PyObject *_liblvm_lvm_lv_remove_tag(lvobject *self, PyObject *args)
if (!PyArg_ParseTuple(args, "s", &tag))
return NULL;
- if (lvm_lv_remove_tag(self->lv, tag) == -1) {
- PyErr_SetObject(_LibLVMError, _liblvm_get_last_error());
- return NULL;
- }
+ if (lvm_lv_remove_tag(self->lv, tag) == -1)
+ goto error;
- Py_INCREF(Py_None);
+ if (lvm_vg_write(self->parent_vgobj->vg) == -1)
+ goto error;
+ Py_INCREF(Py_None);
return Py_None;
+
+error:
+ PyErr_SetObject(_LibLVMError, _liblvm_get_last_error());
+ return NULL;
}
static PyObject *_liblvm_lvm_lv_get_tags(lvobject *self)