From patchwork Sun Sep 6 17:59:30 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lee Duncan X-Patchwork-Id: 7132361 Return-Path: X-Original-To: patchwork-linux-scsi@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 54DB69F32B for ; Sun, 6 Sep 2015 17:59:50 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id D6771206CE for ; Sun, 6 Sep 2015 17:59:47 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id D0137206CC for ; Sun, 6 Sep 2015 17:59:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753242AbbIFR7q (ORCPT ); Sun, 6 Sep 2015 13:59:46 -0400 Received: from mx2.suse.de ([195.135.220.15]:46814 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752567AbbIFR7p (ORCPT ); Sun, 6 Sep 2015 13:59:45 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de X-Amavis-Alert: BAD HEADER SECTION, Duplicate header field: "References" Received: from relay2.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 7D4AFAAC8; Sun, 6 Sep 2015 17:59:43 +0000 (UTC) Received: by worklaptop.gonzoleeman.net (Postfix, from userid 1000) id AC6AF40487; Sun, 6 Sep 2015 10:59:36 -0700 (PDT) From: Lee Duncan To: linux-scsi Cc: Christoph Hellwig , hare@suse.com, jthumshirn@suse.de, JBottomley@Parallels.com, Lee Duncan Subject: [PATCH 2/6] SCSI: Update sd driver to use new ida helper functions Date: Sun, 6 Sep 2015 10:59:30 -0700 Message-Id: <41766f9cdb4b831c310413203b41f57bb784ef24.1441416572.git.lduncan@suse.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: References: In-Reply-To: References: Sender: linux-scsi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-scsi@vger.kernel.org X-Spam-Status: No, score=-7.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable 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 This simplifies the calling sequence to acquire and to release an ida-managed index. Signed-off-by: Lee Duncan --- drivers/scsi/sd.c | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c index 3b2fcb4fada0..0f855e48bc1d 100644 --- a/drivers/scsi/sd.c +++ b/drivers/scsi/sd.c @@ -2948,15 +2948,7 @@ static int sd_probe(struct device *dev) if (!gd) goto out_free; - do { - if (!ida_pre_get(&sd_index_ida, GFP_KERNEL)) - goto out_put; - - spin_lock(&sd_index_lock); - error = ida_get_new(&sd_index_ida, &index); - spin_unlock(&sd_index_lock); - } while (error == -EAGAIN); - + error = ida_get_index(&sd_index_ida, &sd_index_lock, &index); if (error) { sdev_printk(KERN_WARNING, sdp, "sd_probe: memory exhausted.\n"); goto out_put; @@ -3001,9 +2993,7 @@ static int sd_probe(struct device *dev) return 0; out_free_index: - spin_lock(&sd_index_lock); - ida_remove(&sd_index_ida, index); - spin_unlock(&sd_index_lock); + ida_put_index(&sd_index_ida, &sd_index_lock, index); out_put: put_disk(gd); out_free: @@ -3064,9 +3054,7 @@ static void scsi_disk_release(struct device *dev) struct scsi_disk *sdkp = to_scsi_disk(dev); struct gendisk *disk = sdkp->disk; - spin_lock(&sd_index_lock); - ida_remove(&sd_index_ida, sdkp->index); - spin_unlock(&sd_index_lock); + ida_put_index(&sd_index_ida, &sd_index_lock, sdkp->index); blk_integrity_unregister(disk); disk->private_data = NULL;