X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=python%2Fvserverimpl.c;fp=python%2Fvserverimpl.c;h=9048e24e6308647e53e6c63fbb7660d3963075f9;hb=e69eb09c11bcfb647c16b4534a4fcd89f909a565;hp=7ecaec8241d39f0739511931041c4d8ef440a328;hpb=3d2b62598dab648014055b256e3cd22dc31fdaa0;p=util-vserver.git diff --git a/python/vserverimpl.c b/python/vserverimpl.c index 7ecaec8..9048e24 100644 --- a/python/vserverimpl.c +++ b/python/vserverimpl.c @@ -213,6 +213,26 @@ vserver_set_dlimit(PyObject *self, PyObject *args) return Py_None; } +static PyObject * +vserver_unset_dlimit(PyObject *self, PyObject *args) +{ + char *path; + unsigned xid; + struct vcmd_ctx_dlimit_base_v0 init; + + if (!PyArg_ParseTuple(args, "si", &path, &xid)) + return NULL; + + memset(&init, 0, sizeof(init)); + init.name = path; + init.flags = 0; + + if (vserver(VCMD_rem_dlimit, xid, &init) && errno != ESRCH) + return PyErr_SetFromErrno(PyExc_OSError); + + return Py_None; +} + static PyMethodDef methods[] = { { "chcontext", vserver_chcontext, METH_VARARGS, "chcontext to vserver with provided flags" }, @@ -220,6 +240,8 @@ static PyMethodDef methods[] = { "Change vserver scheduling attributes for given vserver context" }, { "setdlimit", vserver_set_dlimit, METH_VARARGS, "Set disk limits for given vserver context" }, + { "unsetdlimit", vserver_unset_dlimit, METH_VARARGS, + "Remove disk limits for given vserver context" }, { "getdlimit", vserver_get_dlimit, METH_VARARGS, "Get disk limits for given vserver context" }, { "setrlimit", vserver_set_rlimit, METH_VARARGS,