From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.5 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3A49EC63777 for ; Thu, 26 Nov 2020 13:32:22 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 8C17E221FF for ; Thu, 26 Nov 2020 13:32:21 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b="jJXqBUAS" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8C17E221FF Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=lst.de Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 11B8E6B008A; Thu, 26 Nov 2020 08:32:21 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 0A5066B008C; Thu, 26 Nov 2020 08:32:20 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DC1726B0092; Thu, 26 Nov 2020 08:32:20 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0138.hostedemail.com [216.40.44.138]) by kanga.kvack.org (Postfix) with ESMTP id A97CF6B008C for ; Thu, 26 Nov 2020 08:32:20 -0500 (EST) Received: from smtpin12.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 71447180AD807 for ; Thu, 26 Nov 2020 13:32:20 +0000 (UTC) X-FDA: 77526658440.12.store61_57024152737f Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin12.hostedemail.com (Postfix) with ESMTP id 4EB751801B84A for ; Thu, 26 Nov 2020 13:32:20 +0000 (UTC) X-HE-Tag: store61_57024152737f X-Filterd-Recvd-Size: 6130 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf41.hostedemail.com (Postfix) with ESMTP for ; Thu, 26 Nov 2020 13:32:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.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=AmF+soi/tJlwBNaRONn2IjJTl0osBWVgBcgFQOU13ls=; b=jJXqBUAS3st2PZGdwZeZime/43 eTZI5ELlBaI3OiNEy21rSFdQoNQmJi1T6VVB+866taDb4O/afrByfjnlvDvxJpLZjFXOXJ1+KQqXc QBfftUZAJanQY9Jge2SNJo9P6m3fdkCcEUuT+GjW46V9tXYGLkkDD+bW3c9kYt7UfidTTbY7V0VB4 bBi3q/XQgGF/jhkhnEHSgPlNPm8SgssZdAxLOzrXNgNnwaAaSMwUZBYWH7JCgG1QM5Ulk2FTMKl/B 8PV2emIEVL0okwr3E1uUbf2Om64AR3FFqaYfrvLkrDs2boYEXrB2y1JgtukMIZUfZ97OXplXNKv6a QtIAveUQ==; Received: from [2001:4bb8:18c:1dd6:27b8:b8a1:c13e:ceb1] (helo=localhost) by casper.infradead.org with esmtpsa (Exim 4.92.3 #3 (Red Hat Linux)) id 1kiGzb-000484-DD; Thu, 26 Nov 2020 13:07:23 +0000 From: Christoph Hellwig To: Jens Axboe Cc: Tejun Heo , Josef Bacik , Coly Li , Mike Snitzer , Greg Kroah-Hartman , Jan Kara , Johannes Thumshirn , dm-devel@redhat.com, Jan Kara , linux-block@vger.kernel.org, linux-bcache@vger.kernel.org, linux-mtd@lists.infradead.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH 35/44] block: move the policy field to struct block_device Date: Thu, 26 Nov 2020 14:04:13 +0100 Message-Id: <20201126130422.92945-36-hch@lst.de> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20201126130422.92945-1-hch@lst.de> References: <20201126130422.92945-1-hch@lst.de> MIME-Version: 1.0 X-SRS-Rewrite: SMTP reverse-path rewritten from by casper.infradead.org. See http://www.infradead.org/rpr.html Content-Transfer-Encoding: quoted-printable X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Move the policy field to struct block_device and rename it to the more descriptive bd_read_only. Also turn the field into a bool as it is used as such. Signed-off-by: Christoph Hellwig --- block/blk-core.c | 2 +- block/genhd.c | 8 ++++---- block/ioctl.c | 2 +- block/partitions/core.c | 4 ++-- include/linux/blk_types.h | 1 + include/linux/genhd.h | 4 ++-- 6 files changed, 11 insertions(+), 10 deletions(-) diff --git a/block/blk-core.c b/block/blk-core.c index 9121390be97a76..d64ffcb6f9ae5d 100644 --- a/block/blk-core.c +++ b/block/blk-core.c @@ -696,7 +696,7 @@ static inline bool bio_check_ro(struct bio *bio, stru= ct hd_struct *part) { const int op =3D bio_op(bio); =20 - if (part->policy && op_is_write(op)) { + if (part->bdev->bd_read_only && op_is_write(op)) { char b[BDEVNAME_SIZE]; =20 if (op_is_flush(bio->bi_opf) && !bio_sectors(bio)) diff --git a/block/genhd.c b/block/genhd.c index 0371558ccde14c..ae312ccc6dd7c0 100644 --- a/block/genhd.c +++ b/block/genhd.c @@ -1679,14 +1679,14 @@ void set_disk_ro(struct gendisk *disk, int flag) struct disk_part_iter piter; struct hd_struct *part; =20 - if (disk->part0.policy !=3D flag) { + if (disk->part0.bdev->bd_read_only !=3D flag) { set_disk_ro_uevent(disk, flag); - disk->part0.policy =3D flag; + disk->part0.bdev->bd_read_only =3D flag; } =20 disk_part_iter_init(&piter, disk, DISK_PITER_INCL_EMPTY); while ((part =3D disk_part_iter_next(&piter))) - part->policy =3D flag; + part->bdev->bd_read_only =3D flag; disk_part_iter_exit(&piter); } =20 @@ -1696,7 +1696,7 @@ int bdev_read_only(struct block_device *bdev) { if (!bdev) return 0; - return bdev->bd_part->policy; + return bdev->bd_read_only; } =20 EXPORT_SYMBOL(bdev_read_only); diff --git a/block/ioctl.c b/block/ioctl.c index a6d8171221c7dc..d61d652078f41c 100644 --- a/block/ioctl.c +++ b/block/ioctl.c @@ -345,7 +345,7 @@ static int blkdev_roset(struct block_device *bdev, fm= ode_t mode, if (ret) return ret; } - bdev->bd_part->policy =3D n; + bdev->bd_read_only =3D n; return 0; } =20 diff --git a/block/partitions/core.c b/block/partitions/core.c index d1093adf2570e2..f397ec9922bd6e 100644 --- a/block/partitions/core.c +++ b/block/partitions/core.c @@ -199,7 +199,7 @@ static ssize_t part_ro_show(struct device *dev, struct device_attribute *attr, char *buf) { struct hd_struct *p =3D dev_to_part(dev); - return sprintf(buf, "%d\n", p->policy ? 1 : 0); + return sprintf(buf, "%d\n", p->bdev->bd_read_only); } =20 static ssize_t part_alignment_offset_show(struct device *dev, @@ -420,7 +420,7 @@ static struct hd_struct *add_partition(struct gendisk= *disk, int partno, bdev->bd_start_sect =3D start; bdev_set_nr_sectors(bdev, len); p->partno =3D partno; - p->policy =3D get_disk_ro(disk); + bdev->bd_read_only =3D get_disk_ro(disk); =20 if (info) { err =3D -ENOMEM; diff --git a/include/linux/blk_types.h b/include/linux/blk_types.h index b237f1e4081405..758cf71c9aa2a6 100644 --- a/include/linux/blk_types.h +++ b/include/linux/blk_types.h @@ -23,6 +23,7 @@ struct block_device { sector_t bd_start_sect; struct disk_stats __percpu *bd_stats; unsigned long bd_stamp; + bool bd_read_only; /* read-only policy */ dev_t bd_dev; int bd_openers; struct inode * bd_inode; /* will die */ diff --git a/include/linux/genhd.h b/include/linux/genhd.h index 349cf6403ccddc..dcbf9ef7610ea6 100644 --- a/include/linux/genhd.h +++ b/include/linux/genhd.h @@ -55,7 +55,7 @@ struct hd_struct { =20 struct block_device *bdev; struct device __dev; - int policy, partno; + int partno; struct rcu_work rcu_work; }; =20 @@ -278,7 +278,7 @@ extern void set_disk_ro(struct gendisk *disk, int fla= g); =20 static inline int get_disk_ro(struct gendisk *disk) { - return disk->part0.policy; + return disk->part0.bdev->bd_read_only; } =20 extern void disk_block_events(struct gendisk *disk); --=20 2.29.2