Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp635886ybz; Sat, 25 Apr 2020 00:59:14 -0700 (PDT) X-Google-Smtp-Source: APiQypIaG7SQaE5/R3GCmLfSG5INEszG3Go/QltalMqlLdl3m+DBeP3YsdgdIA70Rr9WtapcMWcf X-Received: by 2002:a50:da4a:: with SMTP id a10mr10850803edk.158.1587801554648; Sat, 25 Apr 2020 00:59:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587801554; cv=none; d=google.com; s=arc-20160816; b=wgsl8UVzVakgiR3on1i2/Vy05RXboQvUCW53IBxlMv0zktosow8CBMjEAmHXanzaQW 45IuCg2Ux7FHD8KoGMTsq3xqGrQr76pkQSBCZgMsLbhOs2dAQqOQgObaghbQxKTrDSqs LPheejrlg3YnbUnIzNgicn8cgEIAJddnD/IE/vGnP6zHLDHP4S7m+6thhVLxrvqQvV1W gUwpge4zfJCdguA7yXpcw1+O3b46lPJwBH1CJRAxnpN8pr/7a2CQx225iF/lANSEjE75 n3wzRMdKg+PCoY0kgMbBDrYoH/vI5A08czxjylW0Ap31+3FWUrzDlnwqHUY4G8m5zJgz NtYw== 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=DOhDQWJTIqg6uQvMzoVnirpUK+I+SnHs5deg5vip0Nc=; b=ip4YlywG+NNopaUVkDUX3s1Nx33vvxAt1tl5/1R0cBbFRqRHYWAd+wc9uxjwWw0JRo sMkJsPRNavFzPzFpu36M6KNX5q97yu0puEhHW1gPPcMcZAhHdhLg1KwieVne75Is5Zsy p3ZRbCErP2Vswdty/vz1a+izvysQ4xnwjSy22+QoN7JOxpn7ttqE5brNCj9QONJhFCoK livnsLDFYN7c/zppo7rXfnANQ1aant4Y1a8OEapS/Lytyic1YsRAnW2RbeYW/whX9hzX fSn/dIdIsXDS7ai3on2GrN0fspjql7u3jOxEEnnKj09OuNIwPCXfjpcE8Rma8sCElAbr azDA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@infradead.org header.s=bombadil.20170209 header.b=Sy56M4q4; 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 dp1si2618841ejc.444.2020.04.25.00.58.50; Sat, 25 Apr 2020 00:59:14 -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=Sy56M4q4; 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 S1726285AbgDYH52 (ORCPT + 99 others); Sat, 25 Apr 2020 03:57:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36730 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726098AbgDYH50 (ORCPT ); Sat, 25 Apr 2020 03:57:26 -0400 Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 41A06C09B049; Sat, 25 Apr 2020 00:57:26 -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=DOhDQWJTIqg6uQvMzoVnirpUK+I+SnHs5deg5vip0Nc=; b=Sy56M4q4nAx+d1ghDl7bCoY9Nj dP0N9jkjcNTJYANbkR3T7E+ykMzKUFpMXINuOKN7d+1BwOeRR8hiyiRcOpeBZjMJhaTT6ItiXxV7j nTCkOKvjGJD7s+hu9X7d+2zfYRzOigZU84hZQr/sSjlofxLud5U3ued46vQxVImIS8W4Hxkx50Afy CsrUJROUK4NVxYx/EvYncKihnTBWfcRbG8rgq2c+koaivnIE4CjGqkUDSOL91vTJ/7pY4QsIKYchR LCKMXY2nsuoihuKQhN1n83FDJCw2wToEKztW3QK8Z9ShvEbInhV46tBApDXpSVc5ONCacly2xTy6/ vTy/Qn8w==; Received: from [2001:4bb8:193:f203:c70:4a89:bc61:2] (helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.92.3 #3 (Red Hat Linux)) id 1jSFgf-00022v-J7; Sat, 25 Apr 2020 07:57:21 +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, Damien Le Moal Subject: [PATCH 5/7] hfsplus: stop using ioctl_by_bdev Date: Sat, 25 Apr 2020 09:57:04 +0200 Message-Id: <20200425075706.721917-6-hch@lst.de> X-Mailer: git-send-email 2.26.1 In-Reply-To: <20200425075706.721917-1-hch@lst.de> References: <20200425075706.721917-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 CDROM layer functionality directly. Signed-off-by: Christoph Hellwig Reviewed-by: Damien Le Moal --- 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 08c1580bdf7ad..61eec628805de 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