From patchwork Tue Dec 1 20:04:29 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Dryomov X-Patchwork-Id: 7740421 Return-Path: X-Original-To: patchwork-ceph-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id C3789BEEE1 for ; Tue, 1 Dec 2015 20:04:58 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id E9416204EB for ; Tue, 1 Dec 2015 20:04:57 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 1F273204D8 for ; Tue, 1 Dec 2015 20:04:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755481AbbLAUEw (ORCPT ); Tue, 1 Dec 2015 15:04:52 -0500 Received: from mail-wm0-f47.google.com ([74.125.82.47]:33325 "EHLO mail-wm0-f47.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754908AbbLAUEv (ORCPT ); Tue, 1 Dec 2015 15:04:51 -0500 Received: by wmec201 with SMTP id c201so222721427wme.0 for ; Tue, 01 Dec 2015 12:04:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=5UJLymOIUEC5ECY7widnoCKvH22u6Z3LP/cFhcU9YHw=; b=hApYbVomvRjGPQpLmVmpyiq25580UbBQacvvktU7NsmqPk4OzJEhecLJz3lg6uIWSl K/aFalE299iqwWO4jb/jphZmUosC+Rj6EW7mvCkpmGxd7oESVOMM92rGmpB6pa+i48yA CNVemeKVmoDRATfqZWKv/6gIBmXAe4Jgi+gBW4JOUoi1buE2j670dRyW5RFr0L7a7Wgz aFCiDgGyN3ji4NzbtmV8Hd4vl9pxYm9uhyNTjU0pDhS0Px1oNUr3tmtp6SIs82BReoe6 Ybxyo0ecQ/tJOivnYMSynQOr15kCRUHktQsXYlCXHF1w8wi5i2cYT2x84LW4SkQDwrlw 3E9A== X-Received: by 10.194.239.104 with SMTP id vr8mr93784959wjc.64.1449000290004; Tue, 01 Dec 2015 12:04:50 -0800 (PST) Received: from dhcp-27-199.brq.redhat.com (nat-pool-brq-t.redhat.com. [213.175.37.10]) by smtp.gmail.com with ESMTPSA id qm9sm19698428wjc.39.2015.12.01.12.04.49 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 01 Dec 2015 12:04:49 -0800 (PST) From: Ilya Dryomov To: ceph-devel@vger.kernel.org Cc: Josh Durgin Subject: [PATCH] rbd: don't put snap_context twice in rbd_queue_workfn() Date: Tue, 1 Dec 2015 21:04:29 +0100 Message-Id: <1449000269-27732-1-git-send-email-idryomov@gmail.com> X-Mailer: git-send-email 2.4.3 Sender: ceph-devel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: ceph-devel@vger.kernel.org X-Spam-Status: No, score=-6.8 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, T_DKIM_INVALID, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Commit 4e752f0ab0e8 ("rbd: access snapshot context and mapping size safely") moved ceph_get_snap_context() out of rbd_img_request_create() and into rbd_queue_workfn(), adding a ceph_put_snap_context() to the error path in rbd_queue_workfn(). However, rbd_img_request_create() consumes a ref on snapc, so calling ceph_put_snap_context() after a successful rbd_img_request_create() leads to an extra put. Fix it. Cc: stable@vger.kernel.org # 3.18+ Signed-off-by: Ilya Dryomov Reviewed-by: Josh Durgin --- drivers/block/rbd.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c index 24a757e97d56..4a876785b68c 100644 --- a/drivers/block/rbd.c +++ b/drivers/block/rbd.c @@ -3442,6 +3442,7 @@ static void rbd_queue_workfn(struct work_struct *work) goto err_rq; } img_request->rq = rq; + snapc = NULL; /* img_request consumes a ref */ if (op_type == OBJ_OP_DISCARD) result = rbd_img_request_fill(img_request, OBJ_REQUEST_NODATA,