From patchwork Mon Oct 19 18:05:44 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Dryomov X-Patchwork-Id: 7438381 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 36AC2BEEA4 for ; Mon, 19 Oct 2015 16:25:55 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 646EA200CC for ; Mon, 19 Oct 2015 16:25:54 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 7FD5520452 for ; Mon, 19 Oct 2015 16:25:53 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754110AbbJSQZv (ORCPT ); Mon, 19 Oct 2015 12:25:51 -0400 Received: from mail-wi0-f175.google.com ([209.85.212.175]:35302 "EHLO mail-wi0-f175.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750878AbbJSQZu (ORCPT ); Mon, 19 Oct 2015 12:25:50 -0400 Received: by wicll6 with SMTP id ll6so13720350wic.0 for ; Mon, 19 Oct 2015 09:25:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:date:message-id; bh=9sJSNuNxbBBMMHqLA0g444W+mgXt9amRrnNPA0DVUJo=; b=ISNaIJCAJXTl2OUJ28UxAX4Sg13N+f9sv/pKcHLkI+YMm+qw3MIuyzmTpStc7xmpH+ wWnMUaJgdR3x2AdAJM3AiC19KVBMCUb83gcfVpQ0YLVXHpq/F7arclyCUa7J89qefPQH YQWgtEQ7qfqEzf2zlmba4MVqB0pqDkYN1/RbdJtFuiR8PR44eVAlLqm6pvbmx7kXil/N 3NUJdO+1Xn7NoILqjWyuQPjd1Ur8l3XlIIujHdmXDoxvYKgushZ/K+KGZ5zmaZK+Vl3E dC9XoUMo66ytHiASLAraasQIW7OXJ8Z+lnwmJcD+a5jK/lydbohcrvImBcW4s0ZvcnZa HxXQ== X-Received: by 10.180.8.68 with SMTP id p4mr22424708wia.16.1445271949445; Mon, 19 Oct 2015 09:25:49 -0700 (PDT) Received: from orange.localdomain (nat-pool-brq-t.redhat.com. [213.175.37.10]) by smtp.gmail.com with ESMTPSA id pb4sm41105455wjb.8.2015.10.19.09.25.48 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 19 Oct 2015 09:25:48 -0700 (PDT) From: Ilya Dryomov To: ceph-devel@vger.kernel.org Subject: [PATCH] rbd: return -ENOMEM instead of pool id if rbd_dev_create() fails Date: Mon, 19 Oct 2015 20:05:44 +0200 Message-Id: <1445277944-57934-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, RP_MATCHES_RCVD, T_DKIM_INVALID, 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 Returning pool id (i.e. >= 0) from a sysfs ->store() callback makes userspace think it needs to retry the write. Fix it - it's a leftover from the times when the equivalent of rbd_dev_create() was the first action in rbd_add(). Signed-off-by: Ilya Dryomov --- drivers/block/rbd.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c index 07f666f4ca18..df795deffe77 100644 --- a/drivers/block/rbd.c +++ b/drivers/block/rbd.c @@ -5394,7 +5394,7 @@ static ssize_t do_rbd_add(struct bus_type *bus, struct rbd_spec *spec = NULL; struct rbd_client *rbdc; bool read_only; - int rc = -ENOMEM; + int rc; if (!try_module_get(THIS_MODULE)) return -ENODEV; @@ -5429,8 +5429,10 @@ static ssize_t do_rbd_add(struct bus_type *bus, } rbd_dev = rbd_dev_create(rbdc, spec, rbd_opts); - if (!rbd_dev) + if (!rbd_dev) { + rc = -ENOMEM; goto err_out_client; + } rbdc = NULL; /* rbd_dev now owns this */ spec = NULL; /* rbd_dev now owns this */ rbd_opts = NULL; /* rbd_dev now owns this */