Received: by 2002:a19:f614:0:0:0:0:0 with SMTP id x20csp61864lfe; Fri, 15 Apr 2022 19:34:34 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyQN3kLrb7b3VAoYPGf6trY+rqM88wHcLlETlCAJphStbW7cPLQW11Tf8VWdcagvn8CY/zd X-Received: by 2002:a05:6a00:b52:b0:508:31e1:7d35 with SMTP id p18-20020a056a000b5200b0050831e17d35mr1712683pfo.33.1650076473836; Fri, 15 Apr 2022 19:34:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650076473; cv=none; d=google.com; s=arc-20160816; b=udAAR6lfuLCiPl0fMV1d6AhvGlpxsOQDZ0HvWP4vC6OuThc7hOfUrtBtJx7VYB/nfu +MbWIez92E71g1KssXd2yQvhbly3ENZbRH26bXGdf40AnwpyYC0FThuByM5niOsZAPFS 0MwnwWtQWXQa/alPsgapYULdfIpeg03CbR6KiMyBcXF7+0VXadPqsYyGI0PUXzPd1xkG PrMT83dP/6kTBvIac2HyKp4ZLQ1ByJpdY4u53481/v3AXDT09Zz06me/maLfiBCSRTTn lgZBvNbtaY4nUZ8KyopoeCNLE8VeSjpY/99ukGI55tIShYSYYxfHT94QP97Tt2fI1zgv Xlnw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=T00AEFQ4LdY1QMdERyaPozZpUOF+QiWNLetpSJJQdDo=; b=z3Jof8LFvNPxPdZdpIABzpuReHQeuIM3hsNGStlSLzRBU7WA3eMwCHMMaiSLMe6KLs TqxOutTCMVg+f4SrMqV3JpDln+YHN25KXT5mY/iAiv5UqmQNizCwSMO5SYOUxj2CCTdS l1lptwNdYUWzIA3PYVbA+IWafuo+S3rfp/9Ie7I3JqFfatIAIaK6rQ/ivUmkmlZ57Let DBpKC9LuTuvXtC+8XGut/06dAvU10DfLn8FUnAB6gesAEAzHMGHG1uQCbmH+EKLT/prF uIy/f+3B8bGzeJ2pezsjylEO1/yvfQXWSu2tjjzLP1zcjGbu9HBRB6V8nbRhd8n34UK1 F/2A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20210309 header.b=4z6KO6NF; spf=softfail (google.com: domain of transitioning linux-ext4-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id e4-20020a637444000000b0039905bfa26esi3563091pgn.788.2022.04.15.19.34.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 Apr 2022 19:34:33 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning linux-ext4-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20210309 header.b=4z6KO6NF; spf=softfail (google.com: domain of transitioning linux-ext4-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 3DEF212B5C8; Fri, 15 Apr 2022 18:44:08 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1349458AbiDOEzr (ORCPT + 99 others); Fri, 15 Apr 2022 00:55:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47358 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237655AbiDOEzp (ORCPT ); Fri, 15 Apr 2022 00:55:45 -0400 Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B79A16A406; Thu, 14 Apr 2022 21:53:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: MIME-Version:Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type: Content-ID:Content-Description:In-Reply-To:References; bh=T00AEFQ4LdY1QMdERyaPozZpUOF+QiWNLetpSJJQdDo=; b=4z6KO6NFlCmw6gfLt5PMjkbZbu ouT60XDqcfvRhernsRXD0vwaftH4PWGz4g/tfgJxaVQdnBahT9rSu+DPV0LcVWvfqp3gSmaRRdKjo LrtjVJU30r+VyvCuJqCpqyJLq+Np0yb+WyGJf7TtEsin5OlECXGHTRm8CUgIrhr286x9pu7HMkFwj WRWOTWk+UhMPmcPKIHaMsVI41kiHgzfBLpjBUgT/qUn8kDftheRbfzGB5lKPyfqxPgkVCnkl5qRhd TvTcdGJElRmxpcgYx6fNN6THfHB/GfYIgPywakC/rqA7h0nFLzILemkQ8Y3NKIc/JU1eL4CKelMvU 3Q7Lrsyw==; Received: from [2a02:1205:504b:4280:f5dd:42a4:896c:d877] (helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux)) id 1nfDxI-008OmY-4r; Fri, 15 Apr 2022 04:53:12 +0000 From: Christoph Hellwig To: Jens Axboe Cc: dm-devel@redhat.com, linux-xfs@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-um@lists.infradead.org, linux-block@vger.kernel.org, drbd-dev@lists.linbit.com, nbd@other.debian.org, ceph-devel@vger.kernel.org, virtualization@lists.linux-foundation.org, xen-devel@lists.xenproject.org, linux-bcache@vger.kernel.org, linux-raid@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mtd@lists.infradead.org, linux-nvme@lists.infradead.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, target-devel@vger.kernel.org, linux-btrfs@vger.kernel.org, linux-ext4@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, cluster-devel@redhat.com, jfs-discussion@lists.sourceforge.net, linux-nilfs@vger.kernel.org, ntfs3@lists.linux.dev, ocfs2-devel@oss.oracle.com, linux-mm@kvack.org Subject: use block_device based APIs in block layer consumers v3 Date: Fri, 15 Apr 2022 06:52:31 +0200 Message-Id: <20220415045258.199825-1-hch@lst.de> X-Mailer: git-send-email 2.30.2 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 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RDNS_NONE, SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org Hi Jens, this series cleanups up the block layer API so that APIs consumed by file systems are (almost) only struct block_devic based, so that file systems don't have to poke into block layer internals like the request_queue. I also found a bunch of existing bugs related to partition offsets and discard so these are fixed while going along. Changes since v2: - fix an inverted check in btrfs - set max_discard_sectors to 0 in all places where the flag was previously cleared - fix a few sligtly incorrect collected Acks Changes since v1: - fix a bisection hazard - minor spelling fixes - reorder hunks between two patches to make the changes more obvious - reorder a patch to be earlier in the series to ease backporting Diffstat: arch/um/drivers/ubd_kern.c | 2 block/blk-core.c | 4 - block/blk-lib.c | 124 ++++++++++++++++++++--------------- block/blk-mq-debugfs.c | 2 block/blk-settings.c | 74 ++++++++++++++++++++ block/blk.h | 14 --- block/fops.c | 2 block/genhd.c | 4 - block/ioctl.c | 48 ++++++++++--- block/partitions/core.c | 12 --- drivers/block/drbd/drbd_main.c | 51 ++++++-------- drivers/block/drbd/drbd_nl.c | 94 +++++++++++--------------- drivers/block/drbd/drbd_receiver.c | 13 +-- drivers/block/loop.c | 15 +--- drivers/block/nbd.c | 5 - drivers/block/null_blk/main.c | 1 drivers/block/rbd.c | 1 drivers/block/rnbd/rnbd-clt.c | 6 - drivers/block/rnbd/rnbd-srv-dev.h | 8 -- drivers/block/rnbd/rnbd-srv.c | 5 - drivers/block/virtio_blk.c | 2 drivers/block/xen-blkback/blkback.c | 15 ++-- drivers/block/xen-blkback/xenbus.c | 9 -- drivers/block/xen-blkfront.c | 8 +- drivers/block/zram/zram_drv.c | 1 drivers/md/bcache/alloc.c | 2 drivers/md/bcache/request.c | 4 - drivers/md/bcache/super.c | 3 drivers/md/bcache/sysfs.c | 2 drivers/md/dm-cache-target.c | 9 -- drivers/md/dm-clone-target.c | 9 -- drivers/md/dm-io.c | 2 drivers/md/dm-log-writes.c | 3 drivers/md/dm-raid.c | 9 -- drivers/md/dm-table.c | 25 +------ drivers/md/dm-thin.c | 15 ---- drivers/md/dm.c | 3 drivers/md/md-linear.c | 11 --- drivers/md/md.c | 5 - drivers/md/raid0.c | 7 - drivers/md/raid1.c | 18 ----- drivers/md/raid10.c | 20 ----- drivers/md/raid5-cache.c | 8 +- drivers/md/raid5.c | 14 +-- drivers/mmc/core/queue.c | 3 drivers/mtd/mtd_blkdevs.c | 1 drivers/nvme/host/core.c | 4 - drivers/nvme/target/io-cmd-bdev.c | 2 drivers/nvme/target/zns.c | 3 drivers/s390/block/dasd_fba.c | 1 drivers/scsi/sd.c | 2 drivers/target/target_core_device.c | 20 ++--- drivers/target/target_core_file.c | 10 +- drivers/target/target_core_iblock.c | 17 +--- fs/btrfs/disk-io.c | 3 fs/btrfs/extent-tree.c | 8 +- fs/btrfs/ioctl.c | 12 +-- fs/btrfs/volumes.c | 4 - fs/btrfs/zoned.c | 3 fs/direct-io.c | 32 +-------- fs/exfat/file.c | 5 - fs/exfat/super.c | 10 -- fs/ext4/ioctl.c | 10 -- fs/ext4/mballoc.c | 10 +- fs/ext4/super.c | 10 -- fs/f2fs/f2fs.h | 3 fs/f2fs/file.c | 19 ++--- fs/f2fs/segment.c | 8 -- fs/fat/file.c | 5 - fs/fat/inode.c | 10 -- fs/gfs2/rgrp.c | 7 - fs/iomap/direct-io.c | 3 fs/jbd2/journal.c | 9 -- fs/jfs/ioctl.c | 5 - fs/jfs/super.c | 8 -- fs/nilfs2/ioctl.c | 6 - fs/nilfs2/sufile.c | 4 - fs/nilfs2/the_nilfs.c | 4 - fs/ntfs3/file.c | 6 - fs/ntfs3/super.c | 10 +- fs/ocfs2/ioctl.c | 5 - fs/super.c | 2 fs/xfs/xfs_discard.c | 8 +- fs/xfs/xfs_log_cil.c | 2 fs/xfs/xfs_super.c | 12 +-- fs/zonefs/super.c | 3 include/linux/blkdev.h | 112 +++++++++++-------------------- include/target/target_core_backend.h | 4 - mm/swapfile.c | 31 ++------ 89 files changed, 494 insertions(+), 651 deletions(-)