linux-lvm.redhat.com archive mirror
 help / color / mirror / Atom feed
* [linux-lvm] Tagging LVs with Python Bindings
@ 2015-04-06 17:08 Michael Schmidt
  2015-04-07 20:54 ` Tony Asleson
  0 siblings, 1 reply; 4+ messages in thread
From: Michael Schmidt @ 2015-04-06 17:08 UTC (permalink / raw)
  To: linux-lvm

[-- Attachment #1: Type: text/plain, Size: 1566 bytes --]

Hi all,

While working with the Python bindings and attempting to add tags to
logical volume lvm_vg_write seems not to be called. This means if add_tag
is called and the virtual group handle is closed the tags disappear. The
action in _liblvm_lvm_vg_add_tag solves this by calling lvm_vg_write on the
handle itself. Since the lv handle does not seem to have access to it's vg
handle I added a method to the vg just to trigger a write:

--- liblvm.c    2015-04-06 11:55:01.972332429 -0500
+++ liblvm_python.c     2015-04-06 11:47:27.989632725 -0500
@@ -1202,6 +1202,23 @@
        return pytuple;
 }

+static PyObject *_liblvm_lvm_vg_write(vgobject *self)
+{
+       VG_VALID(self);
+
+       if (lvm_vg_write(self->vg) == -1)
+               goto error;
+
+  return Py_None;
+
+error:
+       PyErr_SetObject(_LibLVMError, _liblvm_get_last_error());
+
+       Py_INCREF(Py_None);
+       return NULL;
+}
+
+
 typedef lv_t (*lv_fetch_by_N)(vg_t vg, const char *id);
 typedef pv_t (*pv_fetch_by_N)(vg_t vg, const char *id);

@@ -1854,6 +1871,7 @@
        { "createLvLinear",
(PyCFunction)_liblvm_lvm_vg_create_lv_linear, METH_VARARGS },
        { "createLvThinpool",
(PyCFunction)_liblvm_lvm_vg_create_lv_thinpool, METH_VARARGS },
        { "createLvThin",       (PyCFunction)_liblvm_lvm_vg_create_lv_thin,
METH_VARARGS },
+  { "write",   (PyCFunction)_liblvm_lvm_vg_write, METH_VARARGS },
        { NULL, NULL }          /* sentinel */
 };



My question is: is there a better way to accomplish this?

Thanks,

Mike


-- 
Michael T Schmidt | schmidmt.com | duality.io

[-- Attachment #2: Type: text/html, Size: 2391 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-04-08 17:10 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-06 17:08 [linux-lvm] Tagging LVs with Python Bindings Michael Schmidt
2015-04-07 20:54 ` Tony Asleson
2015-04-08 15:47   ` Michael Schmidt
2015-04-08 17:10     ` Tony Asleson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).