From 650704c4258c0e02fc3519cb8a45728ea14eac9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Thu, 30 Nov 2017 11:04:53 +0100 Subject: [PATCH] rpcd-mod-lxc: info: return NOT_FOUND if container doesn't exist MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It allow distinction between not existing and stopped container. So far querying for not existing container was resulting in: > ubus call lxc info '{ "name": "foo" }' { "name": "foo", "state": "STOPPED", "ips": [ ] } Now it's an error and it matches lxc-info command line: > ubus call lxc info '{ "name": "foo" }' Command failed: Not found > lxc-info --name foo foo doesn't exist Signed-off-by: Rafał Miłecki --- utils/rpcd-mod-lxc/files/lxc.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/utils/rpcd-mod-lxc/files/lxc.c b/utils/rpcd-mod-lxc/files/lxc.c index 6db1b31175..a98fcfc544 100644 --- a/utils/rpcd-mod-lxc/files/lxc.c +++ b/utils/rpcd-mod-lxc/files/lxc.c @@ -332,6 +332,11 @@ rpc_lxc_info(struct ubus_context *ctx, struct ubus_object *obj, l = rpc_lxc_init(tb); if (!l) return UBUS_STATUS_INVALID_ARGUMENT; + + if (!l->container->is_running(l->container) && + !l->container->is_defined(l->container)) + return UBUS_STATUS_NOT_FOUND; + blob_buf_init(&buf, 0); blobmsg_add_string(&buf, "name", l->container->name);