From nobody Wed Apr 24 17:48:26 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1490875545413123.94196476301886; Thu, 30 Mar 2017 05:05:45 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id BBC944E05F; Thu, 30 Mar 2017 12:05:42 +0000 (UTC) Received: from colo-mx.corp.redhat.com (unknown [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 88E398470E; Thu, 30 Mar 2017 12:05:42 +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 16B08B3480; Thu, 30 Mar 2017 12:05:42 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v2UC5e3L009710 for ; Thu, 30 Mar 2017 08:05:40 -0400 Received: by smtp.corp.redhat.com (Postfix) id 5C20C7D9F6; Thu, 30 Mar 2017 12:05:40 +0000 (UTC) Received: from angien.brq.redhat.com (dhcp129-47.brq.redhat.com [10.34.129.47]) by smtp.corp.redhat.com (Postfix) with ESMTP id AF5A65C88D; Thu, 30 Mar 2017 12:05:37 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com BBC944E05F Authentication-Results: ext-mx09.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx09.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=libvir-list-bounces@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com BBC944E05F From: Peter Krempa To: libvir-list@redhat.com Date: Thu, 30 Mar 2017 14:06:33 +0200 Message-Id: X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com Cc: Peter Krempa Subject: [libvirt] [PATCH] storage: gluster: Implement 'checkPool' method so that state is restored 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Thu, 30 Mar 2017 12:05:44 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" After restart of libvirtd the 'checkPool' method is supposed to validate that the pool is online. Since libvirt then refreshes the pool contents anyways just return whether the pool was supposed to be online so that the code can be reached. This is necessary since if a pool does not implement the method it's automatically considered as inactive. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=3D1436065 --- src/storage/storage_backend_gluster.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/storage/storage_backend_gluster.c b/src/storage/storage_ba= ckend_gluster.c index 52c9ee372..83da47347 100644 --- a/src/storage/storage_backend_gluster.c +++ b/src/storage/storage_backend_gluster.c @@ -537,9 +537,22 @@ virStorageBackendGlusterFindPoolSources(virConnectPtr = conn ATTRIBUTE_UNUSED, } +static int +virStorageBackendGlusterCheckPool(virStoragePoolObjPtr pool, + bool *active) +{ + /* Return previous state remembered by the status XML. If the pool is = not + * available we will fail to refresh it and end up in the same situati= on. + * This will save one attempt to open the connection to the remote ser= ver */ + *active =3D pool->active; + return 0; +} + + virStorageBackend virStorageBackendGluster =3D { .type =3D VIR_STORAGE_POOL_GLUSTER, + .checkPool =3D virStorageBackendGlusterCheckPool, .refreshPool =3D virStorageBackendGlusterRefreshPool, .findPoolSources =3D virStorageBackendGlusterFindPoolSources, --=20 2.12.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list