From patchwork Thu Sep 6 11:11:06 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Henrique Barboza X-Patchwork-Id: 10590461 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 88056921 for ; Thu, 6 Sep 2018 11:14:53 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7B9852A6DD for ; Thu, 6 Sep 2018 11:14:53 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 6F6452A6FC; Thu, 6 Sep 2018 11:14:53 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.8 required=2.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id F0E102A6DD for ; Thu, 6 Sep 2018 11:14:52 +0000 (UTC) Received: from localhost ([::1]:60827 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fxsFQ-0001AN-AJ for patchwork-qemu-devel@patchwork.kernel.org; Thu, 06 Sep 2018 07:14:52 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53442) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fxsCJ-0007HZ-4s for qemu-devel@nongnu.org; Thu, 06 Sep 2018 07:11:39 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fxsCF-0001rX-Qs for qemu-devel@nongnu.org; Thu, 06 Sep 2018 07:11:39 -0400 Received: from mail-qt0-x241.google.com ([2607:f8b0:400d:c0d::241]:38529) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fxsCD-0001o1-Fl for qemu-devel@nongnu.org; Thu, 06 Sep 2018 07:11:34 -0400 Received: by mail-qt0-x241.google.com with SMTP id x7-v6so11709033qtk.5 for ; Thu, 06 Sep 2018 04:11:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=g4n3zGh+uAzd6bvFbTVTuVJpoFRTP3Y0DDwIsdwvgzY=; b=DJYj+VOpkdqAoXMZL+GsofH/RxQ0V4v0407UbofTJRAxC/xcJ5/RxiCzyEYEHLkmII TrywYkgxQnWniOb57WLcCH1S5/fXCAkyS6i8YdJ9wQNI1XlMDEK6I3IGTWLzg8f2eyd2 nJbIw88RBhvMM6Vu24Y//cXCyrhWyKEB7ZtUcGGbBjucltf81Z3wgi6mOCuYrka+0MV7 gziW644ZSktlaYDBO090qOsk7DBzV6X0cpVXWQIjtxSj2nJErSak8T4BOIIi+fmJEVvh nJ8tjSlHBlENJJjQNVAKkn1w/mi93WpTv2zOMqG05XdPry+YpoMgwJVOcw5UvOr6ngvs zTZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=g4n3zGh+uAzd6bvFbTVTuVJpoFRTP3Y0DDwIsdwvgzY=; b=kLA8TlBRauRNz7A7NXg6FmqWzrYDMlQzWjD3lWTgtw2AprXjysDbve0xF8/Y+Dw64W GzeR2/6v/y4hLjO7bNjFF5UZbs28yZFco4+wc5QxAZs88MMhuSJ8I9a+U83zVNTOHici sWi8tqTtuMBDdpuMVHGtp1igFzqM0JP0tgr+AFMjIxLJZbQvvEatRypzv8mYhwmk5uTt eMIL5lJO6X9WFY7z5CUDPa7yXXI1MPNKPzUn5udd3iHXkxp93tv/wiCe/QnN3YsOGuoA TucuEpf5t2tJncI3VDiUdToJZFXSlcHyA2N1XzPakNe0fTyV0qv6ba4D5aKV7xobRk5B ergQ== X-Gm-Message-State: APzg51CLs/TUVRUqJkqFB+UrjxIzAbBFMAjMK3MXOT1G3j/9mpgBSjNL ySquIZ3VQ3IfNQ5flwjkRumeuLqW7zU= X-Google-Smtp-Source: ANB0Vdah/oC68p0aiAqsjeZIRi3me+O2xYJNgYULWCrPni0RcHPfE8WqrpZv9A6LFep19c54LykpQg== X-Received: by 2002:ac8:39e1:: with SMTP id v88-v6mr1542778qte.273.1536232292143; Thu, 06 Sep 2018 04:11:32 -0700 (PDT) Received: from localhost.localdomain ([2804:431:f701:4c04:a888:3548:cd61:60d5]) by smtp.gmail.com with ESMTPSA id x26-v6sm3180169qth.15.2018.09.06.04.11.30 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 06 Sep 2018 04:11:31 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Date: Thu, 6 Sep 2018 08:11:06 -0300 Message-Id: <20180906111107.30684-3-danielhb413@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180906111107.30684-1-danielhb413@gmail.com> References: <20180906111107.30684-1-danielhb413@gmail.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::241 Subject: [Qemu-devel] [PATCH v2 2/3] block/snapshot: remove bdrv_snapshot_delete_by_id_or_name X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kwolf@redhat.com, Daniel Henrique Barboza , armbru@redhat.com, dgilbert@redhat.com, muriloo@linux.ibm.com, mreitz@redhat.com Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP After the previous patch, the only instance of this function left is inside qemu-img.c. qemu-img is using it inside the 'img_snapshot' function to delete snapshots in the SNAPSHOT_DELETE case, based on a "snapshot_name" string that refers to the tag, not ID, of the QEMUSnapshotInfo struct. This can be verified by checking the SNAPSHOT_CREATE case that comes shortly before SNAPSHOT_DELETE. In that case, the same "snapshot_name" variable is being strcpy to the 'name' field of the QEMUSnapshotInfo struct sn: pstrcpy(sn.name, sizeof(sn.name), snapshot_name); Based on that, it is unlikely that "snapshot_name" might contain an "id" in SNAPSHOT_DELETE. This patch changes SNAPSHOT_DELETE to use snapshot_find() and snapshot_delete() instead of bdrv_snapshot_delete_by_id_or_name. After that, there is no instances left of bdrv_snapshot_delete_by_id_or_name in the code, so it is safe to remove it entirely. Suggested-by: Murilo Opsfelder Araujo Signed-off-by: Daniel Henrique Barboza --- block/snapshot.c | 20 -------------------- include/block/snapshot.h | 3 --- qemu-img.c | 15 +++++++++++---- 3 files changed, 11 insertions(+), 27 deletions(-) diff --git a/block/snapshot.c b/block/snapshot.c index e371d2243d..f2f48f926a 100644 --- a/block/snapshot.c +++ b/block/snapshot.c @@ -301,26 +301,6 @@ int bdrv_snapshot_delete(BlockDriverState *bs, return ret; } -int bdrv_snapshot_delete_by_id_or_name(BlockDriverState *bs, - const char *id_or_name, - Error **errp) -{ - int ret; - Error *local_err = NULL; - - ret = bdrv_snapshot_delete(bs, id_or_name, NULL, &local_err); - if (ret == -ENOENT || ret == -EINVAL) { - error_free(local_err); - local_err = NULL; - ret = bdrv_snapshot_delete(bs, NULL, id_or_name, &local_err); - } - - if (ret < 0) { - error_propagate(errp, local_err); - } - return ret; -} - int bdrv_snapshot_list(BlockDriverState *bs, QEMUSnapshotInfo **psn_info) { diff --git a/include/block/snapshot.h b/include/block/snapshot.h index f73d1094af..b5d5084a12 100644 --- a/include/block/snapshot.h +++ b/include/block/snapshot.h @@ -61,9 +61,6 @@ int bdrv_snapshot_delete(BlockDriverState *bs, const char *snapshot_id, const char *name, Error **errp); -int bdrv_snapshot_delete_by_id_or_name(BlockDriverState *bs, - const char *id_or_name, - Error **errp); int bdrv_snapshot_list(BlockDriverState *bs, QEMUSnapshotInfo **psn_info); int bdrv_snapshot_load_tmp(BlockDriverState *bs, diff --git a/qemu-img.c b/qemu-img.c index b12f4cd19b..62bb35f1f0 100644 --- a/qemu-img.c +++ b/qemu-img.c @@ -3121,11 +3121,18 @@ static int img_snapshot(int argc, char **argv) break; case SNAPSHOT_DELETE: - bdrv_snapshot_delete_by_id_or_name(bs, snapshot_name, &err); - if (err) { - error_reportf_err(err, "Could not delete snapshot '%s': ", - snapshot_name); + ret = bdrv_snapshot_find(bs, &sn, snapshot_name); + if (ret < 0) { + error_report("Could not delete snapshot '%s': snapshot not " + "found", snapshot_name); ret = 1; + } else { + ret = bdrv_snapshot_delete(bs, sn.id_str, sn.name, &err); + if (ret < 0) { + error_reportf_err(err, "Could not delete snapshot '%s': ", + snapshot_name); + ret = 1; + } } break; }