From nobody Tue May 7 18:06:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 205.139.110.61 as permitted sender) client-ip=205.139.110.61; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.61 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=1592220816; cv=none; d=zohomail.com; s=zohoarc; b=XZANHI1N45nYIs8G2Epo2EBkGk+Dm9lcQl6azxjV8oUYEK1OJJ7jccY9NKCC/26WsalDCrFc8NoKHKhwi6+ifVEdvo1JbujVRxYi9N5TlZAv0VLcNEhy13c3+vKimFro85ykS7ZHTvZKV/g79JqcExKFYgrptAKwbY03N+2SDgw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1592220816; 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=amXVUXL74DlFJstfabKIfvdl32W6H9uWTrzG7mCsq5M=; b=EK109P+suCXJhOJ3n5x2bdT8n4BMpcHKhcTXTVJnShu+c7CJhlVYnOyfC/VZ+y3iOjY85tYVRft+BzRM4x6UDqROPRZXwATjSvpYlTKk8nnlfljfafzTQyRVf3mYEmVyyij+GSqbtTI0cS65sjCkhcFonohsZSQLgn9YMS6rnsg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.61 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-1.mimecast.com (us-smtp-1.mimecast.com [205.139.110.61]) by mx.zohomail.com with SMTPS id 1592220816276437.5433453461404; Mon, 15 Jun 2020 04:33:36 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-482-e9HNhj3vMYCSq_lFVrpfhg-1; Mon, 15 Jun 2020 07:33:32 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id D50492E94; Mon, 15 Jun 2020 11:33:26 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id B6AC55D9CC; Mon, 15 Jun 2020 11:33:26 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 889D2180954D; Mon, 15 Jun 2020 11:33:26 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 05FBX9xq026349 for ; Mon, 15 Jun 2020 07:33:09 -0400 Received: by smtp.corp.redhat.com (Postfix) id EDC865D9CD; Mon, 15 Jun 2020 11:33:09 +0000 (UTC) Received: from localhost.localdomain (unknown [10.40.193.210]) by smtp.corp.redhat.com (Postfix) with ESMTP id 6E58D5D9CC for ; Mon, 15 Jun 2020 11:33:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1592220814; 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=amXVUXL74DlFJstfabKIfvdl32W6H9uWTrzG7mCsq5M=; b=U49LyclEFeKyppdfjVIs5QpWm7b8jXCir1w+9P01ONxMvpIG/VAhXYpMrrasDlnuywoqmw 4o5cdc8zJ7VENQsu2DXk1aVtYXrdwhhnYz/n/ZG0H37wxtL0TSvgZhVFocpZXUaTAtDCWl Jpe1xcaSG6BJTqPnp20+bTdpxBrlQMA= X-MC-Unique: e9HNhj3vMYCSq_lFVrpfhg-1 From: Michal Privoznik To: libvir-list@redhat.com Subject: [PATCH 1/3] *** DO NOT APPLY UPSTREAM *** Date: Mon, 15 Jun 2020 13:32:34 +0200 Message-Id: <3c0e3f5ed716cab3e123fa9223bacb9fb3956b4d.1592218886.git.mprivozn@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" This is a demo of the problem. Set up two NATed networks with dnsmasq and start a domain with two interfaces, one from each network. Only one network will report DHCP lease in 'virsh net-dhcp-leases'. Signed-off-by: Michal Privoznik --- src/network/leaseshelper.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/network/leaseshelper.c b/src/network/leaseshelper.c index a1780ca4e4..02759f2314 100644 --- a/src/network/leaseshelper.c +++ b/src/network/leaseshelper.c @@ -172,6 +172,8 @@ main(int argc, char **argv) case VIR_LEASE_ACTION_ADD: case VIR_LEASE_ACTION_OLD: /* Create new lease */ + sleep(60); + if (virLeaseNew(&lease_new, mac, clientid, ip, hostname, iaid, ser= ver_duid) < 0) goto cleanup; /* Custom ipv6 leases *will not* be created if the env-var DNSMASQ= _MAC --=20 2.26.2 From nobody Tue May 7 18:06:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) client-ip=207.211.31.81; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 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=1592220810; cv=none; d=zohomail.com; s=zohoarc; b=VrHLmEskM8TT2X1poGQNaWwF3Ow8uXQxSvATpz2/V2Wl+57SAiKmiTYyJ0OIGo5OAGr1HllxHO7ZsxwybCAUIDc73Q+LV5pcwf+kLdF+e9i4bQyIJpZAzrVDpA6lBLpXW2A3cDyU+292EsB1DPJFT4UKtcrGEMqLSS+UijvGQfQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1592220810; 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=HP1SDAt6yom4QSrAgtjatq0UHO1bVtxwxbc1GVhKXis=; b=Hfv/7LkEMh/fB6SYHFCU8GcuSGxPgOkmQkFESNSXEo18z5UVInSnjkzWHAMv3N3d3+B0t7YpAlfQLxcUakLv0ZPUq0X3RpTKZE+2Zme6Fb04BVxFqnRISJMKiELNH/GYzRMqrFJIGE5qEsMEkJlqMdSCR19BedEV1y39xBQHi3c= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-1.mimecast.com (us-smtp-1.mimecast.com [207.211.31.81]) by mx.zohomail.com with SMTPS id 1592220810095185.33606687235522; Mon, 15 Jun 2020 04:33:30 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-63-knA-p_GmMTOeIfjVkNfYYg-1; Mon, 15 Jun 2020 07:33:19 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id D33BB107B7CD; Mon, 15 Jun 2020 11:33:13 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 831935D9DA; Mon, 15 Jun 2020 11:33:13 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 155551809554; Mon, 15 Jun 2020 11:33:13 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 05FBXAnD026360 for ; Mon, 15 Jun 2020 07:33:10 -0400 Received: by smtp.corp.redhat.com (Postfix) id CAAC05D9CD; Mon, 15 Jun 2020 11:33:10 +0000 (UTC) Received: from localhost.localdomain (unknown [10.40.193.210]) by smtp.corp.redhat.com (Postfix) with ESMTP id 4C0CE5D9CC for ; Mon, 15 Jun 2020 11:33:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1592220807; 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=HP1SDAt6yom4QSrAgtjatq0UHO1bVtxwxbc1GVhKXis=; b=eFpfyUrHUEUv9t9N8i1weZjasjbxvz76JXfm8Rmwe1BzXsjdJt94Q/kgxXI9K4lnCxf4eE 29o0gH3M6wJb82m8riMH1IxfPfLN9pS4McW2u7RDOtxFWPbYNaVh3/Cdb4WqpNZA9+8wR+ AClDWkDpG9NGXXf01xv8/liG28thlVo= X-MC-Unique: knA-p_GmMTOeIfjVkNfYYg-1 From: Michal Privoznik To: libvir-list@redhat.com Subject: [PATCH 2/3] leaseshelper: Wait to acquire PID file Date: Mon, 15 Jun 2020 13:32:35 +0200 Message-Id: <85b2b3d0babde2b1b180bfbe50e4545d3523cad5.1592218886.git.mprivozn@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" On a DHCP transaction, dnsmasq runs our leases helper which updates corresponding JSON files. While one dnsmasq won't run the leaseshelper in parallel, two dnsmasqs (from two distinct networks) might. To avoid corrupting JSON file, the leaseshelper acquires PID file first. Well, the way it's acquiring it is not ideal - it calls virPidFileAcquirePath(wait =3D false); which means, that either it acquires the PID file instantly or returns an error and does not touch the JSON at all. This in turn means that there might be a leases record missing. With wait =3D true, this won't happen. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=3D1840307 Signed-off-by: Michal Privoznik Reviewed-by: Daniel P. Berrang=C3=A9 --- src/network/leaseshelper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/network/leaseshelper.c b/src/network/leaseshelper.c index 02759f2314..c4258cae4e 100644 --- a/src/network/leaseshelper.c +++ b/src/network/leaseshelper.c @@ -160,7 +160,7 @@ main(int argc, char **argv) pid_file =3D g_strdup(RUNSTATEDIR "/leaseshelper.pid"); =20 /* Try to claim the pidfile, exiting if we can't */ - if ((pid_file_fd =3D virPidFileAcquirePath(pid_file, false, getpid()))= < 0) + if ((pid_file_fd =3D virPidFileAcquirePath(pid_file, true, getpid())) = < 0) goto cleanup; =20 /* Since interfaces can be hot plugged, we need to make sure that the --=20 2.26.2 From nobody Tue May 7 18:06:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) client-ip=207.211.31.81; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 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=1592220830; cv=none; d=zohomail.com; s=zohoarc; b=kh6gX6Jc+PwDMchgCT5xQE6BYHWyjB0DB8cBf/mxTb5fKnnJyKGrRKH/RRADWeCVrX4OG9maAOS4p0lp+O5MMukhDO1bVGSS+YT7E7rK/4HqGyMwkueifnriar53JzHwccjO8uAFns1YDIrMLQIWzVRWLfVVyw4I6uCdrKEoWNg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1592220830; 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=ZXN7FZ/Cnbyg3nj6Odcwq9EseOYJlTU+J0lmZODGiXM=; b=e/sf4VLzdSLMEqyG+35qdY+xOs2pGebKHaBAQtH6h4O/aZvZtk2cdJF6BM3tGDloPw+7FYZQJWxiqI5S5RzeEXBK4lb5tPHEMlAkw7Fzn2jKph1iXAMWNCNAbt+DijghmFrwtiHphEfekE/NH2gDhjCBC1xA2u+KTDNEiKkgC2U= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-1.mimecast.com (us-smtp-1.mimecast.com [207.211.31.81]) by mx.zohomail.com with SMTPS id 1592220830219415.3909145473714; Mon, 15 Jun 2020 04:33:50 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-141-GlmojegVP56W1xQqVtmGyg-1; Mon, 15 Jun 2020 07:33:36 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 39EC7872FF6; Mon, 15 Jun 2020 11:33:29 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 15A0D1A8EA; Mon, 15 Jun 2020 11:33:29 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id D79011809563; Mon, 15 Jun 2020 11:33:28 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 05FBXB4u026368 for ; Mon, 15 Jun 2020 07:33:11 -0400 Received: by smtp.corp.redhat.com (Postfix) id A80665D9CD; Mon, 15 Jun 2020 11:33:11 +0000 (UTC) Received: from localhost.localdomain (unknown [10.40.193.210]) by smtp.corp.redhat.com (Postfix) with ESMTP id 28C8A5D9CC for ; Mon, 15 Jun 2020 11:33:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1592220828; 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=ZXN7FZ/Cnbyg3nj6Odcwq9EseOYJlTU+J0lmZODGiXM=; b=Mg3GK2km80y+KDzXC2lwaYYaUbW4hs6c2zMNzyFrFtifhGDvIxa8xbRYirEAK8tKy/XNGn /b8U+hviBj1ieqpNsYwhN9pgwIsmDzfzJWINu8JLIR8/5QK/NlNBjcN2mjolowz4QI08LN wfussIVHgFaZN3gTBDlpO/5nX6kxYzk= X-MC-Unique: GlmojegVP56W1xQqVtmGyg-1 From: Michal Privoznik To: libvir-list@redhat.com Subject: [PATCH 3/3] leaseshelper: Report more errors Date: Mon, 15 Jun 2020 13:32:36 +0200 Message-Id: <428fdd8680af020f75d12a77adef1384e8c94cfd.1592218886.git.mprivozn@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Some functions or code paths that may fail don't report error (e.g. when acquiring PID file fails) leading to a silent quit of the leaseshelper. This makes it super hard for us and users to debug what is happening. Fortunately, dnsmasq captures both stdout and stderr so we can write an error message there. Signed-off-by: Michal Privoznik Reviewed-by: Daniel P. Berrang=C3=A9 --- src/network/leaseshelper.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/network/leaseshelper.c b/src/network/leaseshelper.c index c4258cae4e..947f838126 100644 --- a/src/network/leaseshelper.c +++ b/src/network/leaseshelper.c @@ -131,8 +131,10 @@ main(int argc, char **argv) * events for expired leases. So, libvirtd sets another env var for th= is * purpose */ if (!interface && - !(interface =3D getenv("VIR_BRIDGE_NAME"))) - goto cleanup; + !(interface =3D getenv("VIR_BRIDGE_NAME"))) { + fprintf(stderr, _("interface not set\n")); + exit(EXIT_FAILURE); + } =20 ip =3D argv[3]; mac =3D argv[2]; @@ -160,13 +162,21 @@ main(int argc, char **argv) pid_file =3D g_strdup(RUNSTATEDIR "/leaseshelper.pid"); =20 /* Try to claim the pidfile, exiting if we can't */ - if ((pid_file_fd =3D virPidFileAcquirePath(pid_file, true, getpid())) = < 0) + if ((pid_file_fd =3D virPidFileAcquirePath(pid_file, true, getpid())) = < 0) { + fprintf(stderr, + _("Unable to acquire PID file: %s\n errno=3D%d"), + pid_file, errno); goto cleanup; + } =20 /* Since interfaces can be hot plugged, we need to make sure that the * corresponding custom lease file exists. If not, 'touch' it */ - if (virFileTouch(custom_lease_file, 0644) < 0) + if (virFileTouch(custom_lease_file, 0644) < 0) { + fprintf(stderr, + _("Unable to create: %s\n errno=3D%d"), + custom_lease_file, errno); goto cleanup; + } =20 switch ((enum virLeaseActionFlags) action) { case VIR_LEASE_ACTION_ADD: --=20 2.26.2