Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp1538477ybz; Thu, 23 Apr 2020 00:19:02 -0700 (PDT) X-Google-Smtp-Source: APiQypIIuSPWbysEnRHkV+THE91CQb5776RIOOZ+ZXVBIpCzTQj6JDu0l8ei92gAGmg5AYLAghF4 X-Received: by 2002:a17:906:1199:: with SMTP id n25mr1658583eja.30.1587626342212; Thu, 23 Apr 2020 00:19:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587626342; cv=none; d=google.com; s=arc-20160816; b=mroKfwZaUyjil4b7oNVgxshKOchoLLsZbF0O7E6pqXCDtgXlVqR+xpGkALJO2UN93+ 80nYWDV+GrI7yu2j9SMCpgrDb4Py5fcGCl+7/kA0IfdifvVwQumDmH2JNsjR1fOWJkog HHV9luqMtJCX46c9Tr4DEicV4ir/03l0L/vfzASWRgmh9iDsbVaGDmFDchAeX/4Laxla N6TGzekbMcAaHSPT6DJpsaZk6hl1FnMmZwMScTD4TvCw/J7YmQj5Fvv+2ZWVz4iAuhsY Ekz6YPihir/vS0IsbevL+JacsHrdrJ1hQrc/QEL8+cZE9Ov7apfv16p87tx1L5a/dRTN 63gA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=WhaZzPS9Qvu/s1WLYaiKjaP7iKg56wB/u3yne7Uk/RA=; b=S0H26W2pqXdmFPjiLLkx3xppXhP1wR4SNTHm/5xQilpaNvYeiOI8Sx10LKkOu8DHmm tccqnvRZDWBUPv4syTmDe/afHX/1ULGV3rfHqbUUXyaqScYRslEg+ZaMhQ6BiTB+7x+K fIKEVzbXfoL0tABr+bqN2dC17b6JKSY2rAVrGVMPD6HKtlg/zLkg/Dw6+hmP1xr4TK6j ceu5NQxmSxIgz+MZyp4mgkPb1RftgimP78yszdkSjsjc8yUtJW+DYgR5UCH92lDyDgYV C+TmKHNgEMHNA70ejLlIAVtaSmAQx6OWaeSZNyeiVkYIuuVQ4WI4lmABPB6ABWN9mG51 rnkw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@infradead.org header.s=bombadil.20170209 header.b=N05jbO4X; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id i17si950025edu.511.2020.04.23.00.18.39; Thu, 23 Apr 2020 00:19:02 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=fail header.i=@infradead.org header.s=bombadil.20170209 header.b=N05jbO4X; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727010AbgDWHPj (ORCPT + 99 others); Thu, 23 Apr 2020 03:15:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60700 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726902AbgDWHPD (ORCPT ); Thu, 23 Apr 2020 03:15:03 -0400 Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 88481C03C1AB; Thu, 23 Apr 2020 00:15:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-Type:Content-ID:Content-Description; bh=WhaZzPS9Qvu/s1WLYaiKjaP7iKg56wB/u3yne7Uk/RA=; b=N05jbO4XfiXGjvwd3MR8wD2xaB g9aAu15byKvi9tLl+dOjkbRCt0m0MMf/AesEVNUh0tyuvPI3dXqR0s3ANH/IviVmC0GxCl6ekUiYT FM8KMj5oNfzy9CB/b5m8L4TzCcC8CdB5DgFqp9SLCRoZKMqNmfGqAqeXy0N15CqzWc3NuC4HdiBUw LiKq7W5J01NJLid0kI+R8VzpG3WEAbc0MnhBnQ3ml/HVgXrWjQWfCrG87UQG28gHyQmGGD4NZrtmY gAGgL3YEqi32Lg+WsEseUr/YQwsUqNdL8ljyvohsW/POfm6f8YbzYjrAQhsorny1miEfmAIp7Yn5k BvZiDwpw==; Received: from [2001:4bb8:188:40ac:46e:e5e4:1e64:2584] (helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.92.3 #3 (Red Hat Linux)) id 1jRW4S-00005a-DW; Thu, 23 Apr 2020 07:14:52 +0000 From: Christoph Hellwig To: Jens Axboe Cc: Tim Waugh , Borislav Petkov , Jan Kara , linux-block@vger.kernel.org, linux-ide@vger.kernel.org, linux-scsi@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 5/7] hfsplus: stop using ioctl_by_bdev Date: Thu, 23 Apr 2020 09:12:22 +0200 Message-Id: <20200423071224.500849-6-hch@lst.de> X-Mailer: git-send-email 2.26.1 In-Reply-To: <20200423071224.500849-1-hch@lst.de> References: <20200423071224.500849-1-hch@lst.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Instead just call the CD-ROM layer functionality directly. Signed-off-by: Christoph Hellwig --- fs/hfsplus/wrapper.c | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/fs/hfsplus/wrapper.c b/fs/hfsplus/wrapper.c index 08c1580bdf7a..61eec628805d 100644 --- a/fs/hfsplus/wrapper.c +++ b/fs/hfsplus/wrapper.c @@ -127,31 +127,34 @@ static int hfsplus_read_mdb(void *bufptr, struct hfsplus_wd *wd) static int hfsplus_get_last_session(struct super_block *sb, sector_t *start, sector_t *size) { - struct cdrom_multisession ms_info; - struct cdrom_tocentry te; - int res; + struct cdrom_device_info *cdi = disk_to_cdi(sb->s_bdev->bd_disk); /* default values */ *start = 0; *size = i_size_read(sb->s_bdev->bd_inode) >> 9; if (HFSPLUS_SB(sb)->session >= 0) { + struct cdrom_tocentry te; + + if (!cdi) + return -EINVAL; + te.cdte_track = HFSPLUS_SB(sb)->session; te.cdte_format = CDROM_LBA; - res = ioctl_by_bdev(sb->s_bdev, - CDROMREADTOCENTRY, (unsigned long)&te); - if (!res && (te.cdte_ctrl & CDROM_DATA_TRACK) == 4) { - *start = (sector_t)te.cdte_addr.lba << 2; - return 0; + if (cdrom_read_tocentry(cdi, &te) || + (te.cdte_ctrl & CDROM_DATA_TRACK) != 4) { + pr_err("invalid session number or type of track\n"); + return -EINVAL; } - pr_err("invalid session number or type of track\n"); - return -EINVAL; + *start = (sector_t)te.cdte_addr.lba << 2; + } else if (cdi) { + struct cdrom_multisession ms_info; + + ms_info.addr_format = CDROM_LBA; + if (cdrom_multisession(cdi, &ms_info) == 0 && ms_info.xa_flag) + *start = (sector_t)ms_info.addr.lba << 2; } - ms_info.addr_format = CDROM_LBA; - res = ioctl_by_bdev(sb->s_bdev, CDROMMULTISESSION, - (unsigned long)&ms_info); - if (!res && ms_info.xa_flag) - *start = (sector_t)ms_info.addr.lba << 2; + return 0; } -- 2.26.1