From nobody Sun Feb 8 20:12:39 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1655128621; cv=none; d=zohomail.com; s=zohoarc; b=bqC3uO/54StJpLDMzD7PACU1wbr04HwTAaRDEJT+dFLx8jGMwZClMRbfCo/xo1GJMG2Hs84FRpnAiJstVf1GyFZ179SM80MsyrLyN3LS8VmyWAFnS6vfq/bZk0Nt3ZXWR+SiclmgE6H7/jd1phg2fmK1jo4fFXXAkZYb0LI3jbo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1655128621; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=ni3Habe16QVbGPTUDrxqmO4BWfc6/+jOSj1O0xS3wpo=; b=cV5sqPp7U+/Clf1QrUocDQm8tqDnLQR1cRJCy/rwxsMCUZaQANLr2MELfqaD2D7xmAROEcfrco/+f6wFN77JR9/8wjr2pjclYb4F4Oyj4duiN+PKd4kpo0MQtF2BIwONgT8sBSyIlWGaZDJo5kMfh7INPG9O6pxbcly6LRZ6oe8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 1655128621605644.7373817496106; Mon, 13 Jun 2022 06:57:01 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-464-ZcoZLq_FPySX7-SPCYcYnA-1; Mon, 13 Jun 2022 09:56:55 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 1A66C804181; Mon, 13 Jun 2022 13:56:53 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 0455710725; Mon, 13 Jun 2022 13:56:53 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id AEB5C1947062; Mon, 13 Jun 2022 13:56:52 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com [10.11.54.9]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 9482B194705B for ; Mon, 13 Jun 2022 13:56:51 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 838F9492CA5; Mon, 13 Jun 2022 13:56:51 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.34]) by smtp.corp.redhat.com (Postfix) with ESMTP id CC2C8492CA2 for ; Mon, 13 Jun 2022 13:56:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1655128620; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=ni3Habe16QVbGPTUDrxqmO4BWfc6/+jOSj1O0xS3wpo=; b=Oo/8qZp4dwllZKUf6B90jypZeyYPG00uzK/WvKsto2714jovcBpFiqE2EgqlKHn2oEnKGO 2jSmYY6+Mbfg6JPrS4v93fobrmviKFe8z0RKEi5En418fYwRAZiWSkKO7HkFT60jX/SKX3 jj2W2unhQ5Qx7m8Y6dcH/S12/T+dA+Q= X-MC-Unique: ZcoZLq_FPySX7-SPCYcYnA-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 5/6] virt-admin: Introduce 'daemon-timeout' Date: Mon, 13 Jun 2022 15:56:32 +0200 Message-Id: <9f8d597c45a6af3338bdfd36f1aa44a89b56e52f.1655128518.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.85 on 10.11.54.9 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 2.79 on 10.11.54.5 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1655128622378100001 Content-Type: text/plain; charset="utf-8" Add a simple command to drive the new 'virAdmConnectSetDaemonTimeout' API. Signed-off-by: Peter Krempa --- docs/manpages/virt-admin.rst | 12 ++++++++++ tools/virt-admin.c | 45 ++++++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) diff --git a/docs/manpages/virt-admin.rst b/docs/manpages/virt-admin.rst index 30cfd24e73..479e27b2c2 100644 --- a/docs/manpages/virt-admin.rst +++ b/docs/manpages/virt-admin.rst @@ -313,6 +313,18 @@ To define multiple outputs at once they need to be del= imited by spaces: $ virt-admin daemon-log-outputs "4:stderr 2:syslog:" +daemon-timeout +-------------- + +**Syntax:** + +:: + + daemon-timeout --timeout NUM + +Sets the daemon timeout to the value of '--timeout' argument. Use ``--time= out 0`` +to disable auto-shutdown of the daemon. + SERVER COMMANDS =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D diff --git a/tools/virt-admin.c b/tools/virt-admin.c index e010763e21..718df62854 100644 --- a/tools/virt-admin.c +++ b/tools/virt-admin.c @@ -1072,6 +1072,45 @@ static const vshCmdInfo info_daemon_log_outputs[] = =3D { {.name =3D NULL} }; +static const vshCmdOptDef opts_daemon_timeout[] =3D { + {.name =3D "timeout", + .type =3D VSH_OT_INT, + .help =3D N_("number of seconds the daemon will run without any activ= e connection"), + .flags =3D VSH_OFLAG_REQ | VSH_OFLAG_REQ_OPT + }, + {.name =3D NULL} +}; + +static bool +cmdDaemonTimeout(vshControl *ctl, const vshCmd *cmd) +{ + vshAdmControl *priv =3D ctl->privData; + unsigned int timeout =3D 0; + + if (vshCommandOptUInt(ctl, cmd, "timeout", &timeout) < 0) + return false; + + if (virAdmConnectSetDaemonTimeout(priv->conn, timeout, 0) < 0) + return false; + + return true; +} + + +/* -------------------------- + * Command daemon-timeout + * -------------------------- + */ +static const vshCmdInfo info_daemon_timeout[] =3D { + {.name =3D "help", + .data =3D N_("set the auto shutdown timeout of the daemon") + }, + {.name =3D "desc", + .data =3D N_("set the auto shutdown timeout of the daemon") + }, + {.name =3D NULL} +}; + static const vshCmdOptDef opts_daemon_log_outputs[] =3D { {.name =3D "outputs", .type =3D VSH_OT_STRING, @@ -1499,6 +1538,12 @@ static const vshCmdDef managementCmds[] =3D { .info =3D info_daemon_log_outputs, .flags =3D 0 }, + {.name =3D "daemon-timeout", + .handler =3D cmdDaemonTimeout, + .opts =3D opts_daemon_timeout, + .info =3D info_daemon_timeout, + .flags =3D 0 + }, {.name =3D NULL} }; --=20 2.36.1