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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 83B18C04E69 for ; Fri, 11 Aug 2023 11:05:11 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E9E46900007; Fri, 11 Aug 2023 07:05:10 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E4DD3900002; Fri, 11 Aug 2023 07:05:10 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D3D56900007; Fri, 11 Aug 2023 07:05:10 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id C59D0900002 for ; Fri, 11 Aug 2023 07:05:10 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 65CCA141176 for ; Fri, 11 Aug 2023 11:05:10 +0000 (UTC) X-FDA: 81111541980.22.B15320D Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28]) by imf28.hostedemail.com (Postfix) with ESMTP id 47F5CC0021 for ; Fri, 11 Aug 2023 11:05:06 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=nS0o04Ko; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=PRu3LFGs; spf=pass (imf28.hostedemail.com: domain of jack@suse.cz designates 195.135.220.28 as permitted sender) smtp.mailfrom=jack@suse.cz; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1691751907; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=5tRGa7YNpy5azfO2DILJGaxnHQqIrHRIuX4HPJpenrQ=; b=I3Vzvluo43pBersWp4CX7NIAUquBk5OKSI2yShMWbdBOI939ixP8DyI/BB++0WEBPNLJYo IfToTU/JUtHUk8EQEEa0+IzpLMK134QCaQvq9ouN8VYmpjsO+NKWYhWh4miYYgBVtgtdDm wocpXoI+6MEau6mjPmdGkIh21dWpSzg= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1691751907; a=rsa-sha256; cv=none; b=3v9sxVxRiRFxt0TtGIhDzUPPGKJI0EUMPDeAtJvA5mOkEusJC0BjAaGsiBWp170sj7KZ+K OaZlQdXQ5P76CkDJgFHF9jy9FdmeXBuIkDQUDmAThwvcrpUV186dM2SzR1nJgcGuPQ2QRb rISVowNMqxfjSqgYPB3VEPelHFvUU+I= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=nS0o04Ko; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=PRu3LFGs; spf=pass (imf28.hostedemail.com: domain of jack@suse.cz designates 195.135.220.28 as permitted sender) smtp.mailfrom=jack@suse.cz; dmarc=none Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 554E921867; Fri, 11 Aug 2023 11:05:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1691751905; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=5tRGa7YNpy5azfO2DILJGaxnHQqIrHRIuX4HPJpenrQ=; b=nS0o04Ko2eofWDhOvWx6o3T36EV25HqbUFvkN9WMKumyZo3DU5IiWgMskXfjyH4OXEiKYl IITYxvL5Q8pMKkFc8O6biwC3K3TxmcmnzVR3W1NQhsfgztirbY49kzZoor0HytOQKCBlyL GV3cB78+BIPaD5P0M4y2xB0Q495MkAo= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1691751905; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=5tRGa7YNpy5azfO2DILJGaxnHQqIrHRIuX4HPJpenrQ=; b=PRu3LFGsOROMaty7jNH51X1wMClD6ZMlY5AdbxYnc0QwtMHxNWZ8s/wVfL1uImLDOQT/Rl cDHfO/YvLXNV1tAw== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 40B5313592; Fri, 11 Aug 2023 11:05:05 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id kdy/D+EV1mQuRQAAMHmgww (envelope-from ); Fri, 11 Aug 2023 11:05:05 +0000 Received: by quack3.suse.cz (Postfix, from userid 1000) id B94BAA076F; Fri, 11 Aug 2023 13:05:04 +0200 (CEST) From: Jan Kara To: Cc: , Christoph Hellwig , Jan Kara , Alasdair Kergon , Andrew Morton , Anna Schumaker , Chao Yu , Christian Borntraeger , "Darrick J. Wong" , Dave Kleikamp , David Sterba , dm-devel@redhat.com, drbd-dev@lists.linbit.com, Gao Xiang , Jack Wang , Jaegeuk Kim , jfs-discussion@lists.sourceforge.net, Joern Engel , Joseph Qi , Kent Overstreet , linux-bcache@vger.kernel.org, linux-btrfs@vger.kernel.org, linux-erofs@lists.ozlabs.org, linux-ext4@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, linux-mm@kvack.org, linux-mtd@lists.infradead.org, linux-nfs@vger.kernel.org, linux-nilfs@vger.kernel.org, linux-nvme@lists.infradead.org, linux-pm@vger.kernel.org, linux-raid@vger.kernel.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, linux-xfs@vger.kernel.org, "Md. Haris Iqbal" , Mike Snitzer , Minchan Kim , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Sergey Senozhatsky , Song Liu , Sven Schnelle , target-devel@vger.kernel.org, Ted Tso , Trond Myklebust , xen-devel@lists.xenproject.org Subject: [PATCH v2 0/29] block: Make blkdev_get_by_*() return handle Date: Fri, 11 Aug 2023 13:04:31 +0200 Message-Id: <20230810171429.31759-1-jack@suse.cz> X-Mailer: git-send-email 2.35.3 MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=3218; i=jack@suse.cz; h=from:subject:message-id; bh=8um6o7br1koHMcykRc7ml18Y2BSCm69vwpPmgjRXxkk=; b=owEBbQGS/pANAwAIAZydqgc/ZEDZAcsmYgBk1hW86qklK68Z0G139b8b61UzO/oV2Y6qvJg1uvDC +JKlEZuJATMEAAEIAB0WIQSrWdEr1p4yirVVKBycnaoHP2RA2QUCZNYVvAAKCRCcnaoHP2RA2epoB/ 9Sgdf//aomv8tBKGEg1kRzItWS+CXbN/cjy5B6uL3IUWhEY6vxFg7DsN+znMmPFPOp7X1w/e2PExiA dGNvKiX2BNUyl6ZLFstCZUiXyzlig8pnDHrmrN4lbx3SIS3BHdNJ8igPArMWVDYXlZuosexzFn3fIW ELsTpVpNLZdp6BAxZg4925E1qscyN11eFDJecvW+IrpMA1nHR12Y/AX4zqXWcBT8MPUEiJD1Cnfxfa Leji+h3vOG0k2IQAyfN6R1cj/0POs0zJWvSVK9bZM8IYFIOHr+jpYHi0KEVh62q6NLoQxbMBVEzn9K JsmkBplP7UobjvtEWvfH0EwVENii9z X-Developer-Key: i=jack@suse.cz; a=openpgp; fpr=93C6099A142276A28BBE35D815BC833443038D8C Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 47F5CC0021 X-Rspam-User: X-Stat-Signature: 4ffptju64myb9i4c178xmzo5g56wrmm4 X-Rspamd-Server: rspam03 X-HE-Tag: 1691751906-490702 X-HE-Meta: U2FsdGVkX18mlKD6fUyEFW6fdL1jDVLlVRd+WEzoUhvYUag1dH8c1wAa7BjHydbF2Ssk/fhYaHUKRmA5xxcC2J9c6zwxR5uH0CfWwk7vgfZfQNAqPgjNr1Q+5SxghJaB3lor2IxPl8s9tE4ygvO0GPt4rRKH1BlE5c5uamWlAFJTsBjWEzhppdZqtXllK65C8epxhRRlwyEW9hI0LMmtYhZ/ow5aNwEg2t8BD8tgRWzNP78MYxKd6L2x8T7zdXyl5ArFnmVweaveXMH4WSQLrM2m4AZBWM/nNAj47TEpAVVqs2YbNSd7WU9yixYbTBLAtPOHSIcYfhPav4KCPL0lnzc5MLsxXFAojfCGIbggQ3PmyvhERTwtKyQU90Xc+nazziMt7LI2DL0T1jljoPByD3OuLuHYb3Q95U6feRveNxVbQpsd7ZJoYES9UrH8D4btQwyQmRFvOzj58OvZMyxmgofF1h4jlp6uA3jQ/RxmWyPgQiDNVdFifVzvLLMSYX2uy2lY1pGX47XjDLs4kzB/fkZ54B3mjD+FrPz25tAyySQrJzm0gn25hvUf/qxUL/s8BRp3cRJJ+DN4maBQ3pW3AQ3SjITPorZvLtpZJcXQ+2BBmPMdMfP7oSV+PsNvS2F07/nBLO8FbSwpvO2J+zmtcQXAzdOl3p8ykgufkdXuC1yuK5xLBsZHd3FWYIf9PWLl7sbwm9hj0xewVbynZTfDpyYamvscJICptqaFzRSjVqGbH6BxY4EGdwkMenxz4BzNtphVbBATIkH01xmUcqpDmR2uIhz/DqsERYQwUJtzQz4HVAiTRtfx50+4Dqog1SGdMFtigYqyURJoukeWN1RwN0ZZon7UahAgM00bH4tBMrfQmvs8W38aeizMc8kfjxo6CS0MbPwG21YyIaCxNZHSf4ZaTTyJs8fZHeJEN+78siET++qLduB0DecbfbCN2mkIz4Dc8WkKnghJq9y7TsS A7H7s9IN kMSfGg0+EXlWVybefd6nfhuRdiWzWoT99m9yCmfvsfyMNfRr5uprR5x0882g9ovxAax7Zgt57AHPt45+iJV3FRwSQF/5F4m/HDdqTRfOM8RRT1O6KIj1b+4dhFKMioYH3FC+wXm6vPw6Qj7DqSzxIttachco/nKl4Fybvx//uAsbs+tPu1N+Az3XZhYywDpy/1yZo0pFAs+CvdL0gWGJCrKyoXm7cnIfVARdJS/AL/yC75StCgEChcx1i/nb6SD5WhxYjnCFXG0frQ7hbvNAnbBd5tEkZtXQ7NgTTw+uAyBZJsHayOi7uAzOAIBBcRd9TV0fyZAx9gi6hR3Y7zrQ6NPaG2Zp3gS3gsmKS0CoAGZxkVzIY9XugUBKyOqVp1UqVxaSux+S4MNsRx5paJysWMhMlsTypoXMffKi2UYsliPgo67L+RJLD+Jc+KogZ+jCIJ8++yr46ccQM4Vz3KVmWmptBsbj0wGP9/Gs1RsY22JI2qJ+uLl5N/tI36xjM/X43akMkclwU2cKI8M6dtBWhBA/4fHP8fRUT3kkUycSFzY9orEnDkjuUgShgd0pVv/kl4Muq3Ph2xf+GbqYf7emBBoAAheJ563MAbHJNbkKX7dAp/JGEsD2EQPi24JljvxBMisua7W/xn5IdYXS91W2n9HcmQVfgP1C49ghANXWwjoGx1SR5PZDAp6Bocqm1KUSF+oUSA3me4DG+l3FzYZcGLZERP6y4lFPrbSIt8roV7A/StOAqQXqsIqHHsdtGb4Evv9hHNl7PurHv1SgibcOOO7qMAHsYi4QkLO9Bo0YSU15f57NRpYC1UlrOAEq57BHiGDgC6aG9baPGF9hcnU02QbSYpzSLbGrrPLTfTY79stvwcqvtkpjl6A7616ojNC9qfXrN6FEm0ASGFXpuHlPlgK1AxFppbCt4Tp7AyxLwZp+8KNNJnPgD8QEqNuwuTqhpSW+Q9BSHswoKtBIwtmGt2EKobA02 NSnIw3i+ Gys7H+Cu1vxwIkRmkpHKNh9yFFSmHW6cN9odvjuuOzNfdcZLNxrO3eZgd/HKtrN4RRd7NGmvxIdf71r+y79KxhDVDEqmbWLt7ChUsaXodAOX5BNOAAWEoGN8v/z4eEzbG8PLyCkuFQpMIoiuAyBf5YuxWNvX80l/tV049UOnkm4= 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: Hello, this is a v2 of the patch series which implements the idea of blkdev_get_by_*() calls returning bdev_handle which is then passed to blkdev_put() [1]. This makes the get and put calls for bdevs more obviously matching and allows us to propagate context from get to put without having to modify all the users (again!). In particular I need to propagate used open flags to blkdev_put() to be able count writeable opens and add support for blocking writes to mounted block devices. I'll send that series separately. The series is based on Christian's vfs tree as of yesterday as there is quite some overlap. Patches have passed some reasonable testing - I've tested block changes, md, dm, bcache, xfs, btrfs, ext4, swap. This obviously doesn't cover everything so I'd like to ask respective maintainers to review / test their changes. Thanks! I've pushed out the full branch to: git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs.git bdev_handle to ease review / testing. Changes since v1: * Rebased on top of current vfs tree * Renamed final functions to bdev_open_by_*() and bdev_release() * Fixed detection of exclusive open in blkdev_ioctl() and blkdev_fallocate() * Fixed swap conversion to properly reinitialize swap_info->bdev_handle * Fixed xfs conversion to not oops with rtdev without logdev * Couple other minor fixups Honza [1] https://lore.kernel.org/all/ZJGNsVDhZx0Xgs2H@infradead.org CC: Alasdair Kergon CC: Andrew Morton CC: Anna Schumaker CC: Chao Yu CC: Christian Borntraeger CC: Coly Li CC: Dave Kleikamp CC: David Sterba CC: dm-devel@redhat.com CC: drbd-dev@lists.linbit.com CC: Gao Xiang CC: Jack Wang CC: Jaegeuk Kim CC: jfs-discussion@lists.sourceforge.net CC: Joern Engel CC: Joseph Qi CC: Kent Overstreet CC: linux-bcache@vger.kernel.org CC: linux-btrfs@vger.kernel.org CC: linux-erofs@lists.ozlabs.org CC: CC: linux-f2fs-devel@lists.sourceforge.net CC: linux-mm@kvack.org CC: linux-mtd@lists.infradead.org CC: linux-nfs@vger.kernel.org CC: linux-nilfs@vger.kernel.org CC: linux-nvme@lists.infradead.org CC: linux-pm@vger.kernel.org CC: linux-raid@vger.kernel.org CC: linux-s390@vger.kernel.org CC: linux-scsi@vger.kernel.org CC: linux-xfs@vger.kernel.org CC: "Md. Haris Iqbal" CC: Mike Snitzer CC: Minchan Kim CC: ocfs2-devel@oss.oracle.com CC: reiserfs-devel@vger.kernel.org CC: Sergey Senozhatsky CC: Song Liu CC: Sven Schnelle CC: target-devel@vger.kernel.org CC: Ted Tso CC: Trond Myklebust CC: xen-devel@lists.xenproject.org Previous versions: Link: http://lore.kernel.org/r/20230629165206.383-1-jack@suse.cz # v1