Displaying 19 results from an estimated 19 matches for "py_false".
2018 Apr 11
0
[nbdkit PATCH v2 4/5] python: Expose FUA support
...s = PyDict_New ();
+ if (!kwargs) {
+ check_python_failure ("pwrite");
+ Py_DECREF (args);
+ Py_DECREF (fn);
+ return -1;
+ }
+ if (pwrite_has_fua &&
+ PyDict_SetItemString (kwargs, "fua",
+ fua ? Py_True : Py_False) == -1) {
+ check_python_failure ("pwrite");
+ Py_DECREF (kwargs);
+ Py_DECREF (args);
+ Py_DECREF (fn);
+ return -1;
+ }
+ r = PyObject_Call (fn, args, kwargs);
Py_DECREF (fn);
+ Py_DECREF (args);
+ Py_DECREF (kwargs);
if (check_python_failu...
2018 Apr 06
6
[nbdkit PATCH 0/2] Python cleanups
I noticed these while working on adding fua support into python,
these are independent enough to push now (and I'll have to rebase
my 'optional may_trim' patch on top of this).
Eric Blake (2):
python: Use Py_XDEFREF()
python: Simplify calling into plugin
plugins/python/python.c | 106 ++++++++----------------------------------------
1 file changed, 18 insertions(+), 88
2018 Apr 11
10
[nbdkit PATCH v2 0/5] FUA support in Python scripts
First out of our four language bindings to add FUA support (for
reference, I added 'zero' support for python, perl, and ruby
back in 1.1.13, then Rich had to add it for ocaml in 1.1.20).
I tested this heavily under python 2, but for now only compile
tested under python 3; I plan to do further testing there and
make any tweaks if necessary.
I wrote patch 5 early on, but then realized I
2018 Apr 06
0
[nbdkit PATCH 2/2] python: Simplify calling into plugin
...config(), this makes it easier to not worry
about python 2 String vs. python 3 Unicode.
Similarly, PyObject_CallFunctionObjArgs is nicer when we
already have PyObjects for all parameters (including in py_open(),
where we can't use a Py_BuildValue() string for converting a
C int into Py_True or Py_False, but can easily avoid the tuple
wrapper).
py_zero() is not converted, as it will be changed differently
to make 'may_trim' an optional callback parameter.
Signed-off-by: Eric Blake <eblake@redhat.com>
---
plugins/python/python.c | 97 ++++++++----------------------------------------...
2019 Nov 25
6
[nbdkit PATCH 0/5] Counterproposal for python v2 interfaces
As mentioned in my reviews, I wonder if we should make our python
callbacks look a bit more Pythonic by having kwargs added for each
new flag that we want to expose. The idea was first floated here:
https://www.redhat.com/archives/libguestfs/2018-April/msg00108.html
Note that with my proposal, there is no need for a python script to
expose a global API_VERSION variable; new flags are added
2018 Apr 11
0
[nbdkit PATCH v2 5/5] RFC: python: Track and cache per-connection state in C struct
..., script);
+ return NULL;
+ }
if (!callback_defined ("open", &fn)) {
nbdkit_error ("%s: missing callback: %s", script, "open");
+ free (h);
return NULL;
}
PyErr_Clear ();
- handle = PyObject_CallFunctionObjArgs (fn, readonly ? Py_True : Py_False,
+ h->obj = PyObject_CallFunctionObjArgs (fn, readonly ? Py_True : Py_False,
NULL);
Py_DECREF (fn);
- if (check_python_failure ("open") == -1)
+ if (check_python_failure ("open") == -1) {
+ free (h);
return NULL;
+ }
-...
2019 Nov 21
10
[PATCH nbdkit 0/8] Implement nbdkit API v2 for Python plugins.
And fill out most of the missing bits of the API.
Rich.
2018 Apr 19
1
Re: [nbdkit PATCH v2 5/5] RFC: python: Track and cache per-connection state in C struct
...(!callback_defined ("open", &fn)) {
> nbdkit_error ("%s: missing callback: %s", script, "open");
> + free (h);
> return NULL;
> }
>
> PyErr_Clear ();
>
> - handle = PyObject_CallFunctionObjArgs (fn, readonly ? Py_True : Py_False,
> + h->obj = PyObject_CallFunctionObjArgs (fn, readonly ? Py_True : Py_False,
> NULL);
> Py_DECREF (fn);
> - if (check_python_failure ("open") == -1)
> + if (check_python_failure ("open") == -1) {
> + free...
2019 Nov 22
0
[PATCH nbdkit v2 01/10] python: Use PyObject_CallFunction instead of constructing the tuple.
...PyLong_FromUnsignedLongLong (offset));
- PyTuple_SetItem (args, 3, PyBool_FromLong (may_trim));
- r = PyObject_CallObject (fn, args);
+ r = PyObject_CallFunction (fn, "OiLO",
+ obj, count, offset,
+ may_trim ? Py_True : Py_False, NULL);
Py_DECREF (fn);
- Py_DECREF (args);
if (last_error == EOPNOTSUPP || last_error == ENOTSUP) {
/* When user requests this particular error, we want to
- gracefully fall back, and to accomodate both a normal return
- and an exception. */
+ * gracefully...
2019 Nov 21
0
[PATCH nbdkit 1/8] python: Use PyObject_CallFunction instead of constructing the tuple.
...PyLong_FromUnsignedLongLong (offset));
- PyTuple_SetItem (args, 3, PyBool_FromLong (may_trim));
- r = PyObject_CallObject (fn, args);
+ r = PyObject_CallFunction (fn, "OiLO",
+ obj, count, offset,
+ may_trim ? Py_True : Py_False, NULL);
Py_DECREF (fn);
- Py_DECREF (args);
if (last_error == EOPNOTSUPP || last_error == ENOTSUP) {
/* When user requests this particular error, we want to
- gracefully fall back, and to accomodate both a normal return
- and an exception. */
+ * gracefully...
2019 Nov 22
0
[PATCH nbdkit v2 03/10] python: Implement nbdkit API version 2.
...*fn;
@@ -590,9 +647,20 @@ py_zero (void *handle, uint32_t count, uint64_t offset, int may_trim)
PyErr_Clear ();
last_error = 0;
- r = PyObject_CallFunction (fn, "OiLO",
- obj, count, offset,
- may_trim ? Py_True : Py_False, NULL);
+ switch (py_api_version) {
+ case 1: {
+ int may_trim = flags & NBDKIT_FLAG_MAY_TRIM;
+ r = PyObject_CallFunction (fn, "OiLO",
+ obj, count, offset,
+ may_trim ? Py_True : Py_False, NULL);
+...
2019 Nov 23
0
[PATCH nbdkit v3 2/7] python: Implement nbdkit API version 2.
...*fn;
@@ -600,9 +671,20 @@ py_zero (void *handle, uint32_t count, uint64_t offset, int may_trim)
PyErr_Clear ();
last_error = 0;
- r = PyObject_CallFunction (fn, "OiLO",
- obj, count, offset,
- may_trim ? Py_True : Py_False, NULL);
+ switch (py_api_version) {
+ case 1: {
+ int may_trim = flags & NBDKIT_FLAG_MAY_TRIM;
+ r = PyObject_CallFunction (fn, "OiLO",
+ obj, count, offset,
+ may_trim ? Py_True : Py_False, NULL);
+...
2020 Mar 19
5
[nbdkit PATCH 0/2] More caching of initial setup
When I added .can_FOO caching in 1.16, I missed the case that the sh
plugin itself was calling .can_flush twice in some situations (in
order to default .can_fua). Then right after, I regressed it to call
.can_zero twice (in order to default .can_fast_zero). I also missed
that .thread_model could use better caching, because at the time, I
did not add testsuite coverage. Fix that now.
Eric Blake
2019 Nov 22
18
[PATCH nbdkit v2 00/10] Implement nbdkit API v2 for Python plugins.
v1:
https://www.redhat.com/archives/libguestfs/2019-November/msg00153.html
v2:
- Fix implementation of can_cache.
- Add implementation of can_fua.
- Add a very thorough test suite which tests every command + flag
combination.
2018 Apr 11
0
[nbdkit PATCH v2 1/5] python: Let zero's may_trim parameter be optional
...ict_New ();
+ if (!kwargs) {
+ check_python_failure ("zero");
+ Py_DECREF (args);
+ Py_DECREF (fn);
+ return -1;
+ }
+ if (zero_may_trim &&
+ PyDict_SetItemString (kwargs, "may_trim",
+ may_trim ? Py_True : Py_False) == -1) {
+ check_python_failure ("zero");
+ Py_DECREF (kwargs);
+ Py_DECREF (args);
+ Py_DECREF (fn);
+ return -1;
+ }
+ r = PyObject_Call (fn, args, kwargs);
Py_DECREF (fn);
Py_DECREF (args);
+ Py_DECREF (kwargs);
if (last_error == EOPNOT...
2010 Sep 09
2
[PATCH]: add libxl python binding
...py_attrib_get(ty, f):
+ t = py_type(f.type)
+ l = []
+ l.append("static PyObject *py_%s_%s_get(Py_%s *self, void *priv)"%(ty.rawname, f.name, ty.rawname))
+ l.append("{")
+ if t == "Bool":
+ l.append(" return (self->obj.%s) ? Py_True : Py_False;"%f.name)
+ elif t == "Int":
+ l.append(" return genwrap__ll_get(self->obj.%s);"%f.name)
+ elif t == "Uint":
+ l.append(" return genwrap__ull_get(self->obj.%s);"%f.name)
+ elif t == "String":
+ l.append...
2019 Nov 25
7
[PATCH nbdkit v2 0/7] Implement nbdkit API v2 for Python plugins.
v3 was here:
https://www.redhat.com/archives/libguestfs/2019-November/msg00209.html
In v4:
- Rebase on top of current master. Includes various fixes and
updates required because of Nir's patches that went into master.
- Fix api_version() -> API_VERSION in patch 2 noted previously on the
mailing list.
Rich.
2019 Nov 23
8
[PATCH nbdkit v3 0/7] Implement nbdkit API v2 for Python plugins.
v2 was here:
https://www.redhat.com/archives/libguestfs/2019-November/msg00163.html
I pushed patch 1 (with spelling fix), patch 4 and patch 5 since those
were previously ACKed on the list.
Differences in v3:
- Add error checking to PyModule_AddIntConstant.
- Use API_VERSION constant instead of function.
- Add max API version supported to --dump-plugin output.
- Print API_VERSION selected by
2019 Nov 22
8
Re: [PATCH nbdkit v2 03/10] python: Implement nbdkit API version 2.
...o (void *handle, uint32_t count, uint64_t offset, int may_trim)
> PyErr_Clear ();
>
> last_error = 0;
> - r = PyObject_CallFunction (fn, "OiLO",
> - obj, count, offset,
> - may_trim ? Py_True : Py_False, NULL);
> + switch (py_api_version) {
> + case 1: {
> + int may_trim = flags & NBDKIT_FLAG_MAY_TRIM;
and maybe assert that no other flags are set.
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3226
Virtualization: qemu.org | libvirt.org