Message ID | 20230818123232.2269-1-jack@suse.cz |
---|---|
Headers | show |
Series | block: Make blkdev_get_by_*() return handle | expand |
On Wed, Aug 23, 2023 at 12:48:27PM +0200, Jan Kara wrote: > Convert hibernation code to use bdev_open_by_dev(). > > CC: linux-pm@vger.kernel.org > Acked-by: Christoph Hellwig <hch@lst.de> > Acked-by: Rafael J. Wysocki <rafael@kernel.org> > Signed-off-by: Jan Kara <jack@suse.cz> > --- Looks good to me, Acked-by: Christian Brauner <brauner@kernel.org>
On Wed, Aug 23, 2023 at 12:48:11PM +0200, Jan Kara wrote: > Hello, > > this is a v3 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 today as there is quite > some overlap. Patches have passed some reasonable testing - I've tested block > changes, md, dm, bcache, xfs, btrfs, ext4, swap. More testing or review is > always welcome. 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. Since there were not many comments for v2 and > Christoph has acked the series I think we should start discussing how to merge > the series. Most collisions with this series seem to happen in the filesystems > area so VFS tree would seem as the least painful way to merge this. Jens, I really do like this series especially struct bdev_handle and moving the mode bits in there. I'll happily take this. So far there have only been minor things that can easily be fixed.
On Fri 25-08-23 15:32:47, Christian Brauner wrote: > On Wed, Aug 23, 2023 at 12:48:11PM +0200, Jan Kara wrote: > > Hello, > > > > this is a v3 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 today as there is quite > > some overlap. Patches have passed some reasonable testing - I've tested block > > changes, md, dm, bcache, xfs, btrfs, ext4, swap. More testing or review is > > always welcome. 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. Since there were not many comments for v2 and > > Christoph has acked the series I think we should start discussing how to merge > > the series. Most collisions with this series seem to happen in the filesystems > > area so VFS tree would seem as the least painful way to merge this. Jens, > > I really do like this series especially struct bdev_handle and moving > the mode bits in there. I'll happily take this. So far there have only > been minor things that can easily be fixed. Thanks. Since Al is fine with just doing a potential conversion to 'struct file' as a handle on top of this series (it will be dumb Coccinelle replacement) I think we can go ahead with the series as is. As you said there will be some conflicts in btrfs and I've learned about f2fs conflicts as well so I can rebase & repost the series on top of rc1 to make life easier for you. Honza
> replacement) I think we can go ahead with the series as is. As you said > there will be some conflicts in btrfs and I've learned about f2fs conflicts > as well so I can rebase & repost the series on top of rc1 to make life > easier for you. That is be much appreciated. Thank you!
On Wed 27-09-23 18:21:19, Christian Brauner wrote: > On Wed, 27 Sep 2023 11:34:07 +0200, Jan Kara wrote: > > Create struct bdev_handle that contains all parameters that need to be > > passed to blkdev_put() and provide bdev_open_* functions that return > > this structure instead of plain bdev pointer. This will eventually allow > > us to pass one more argument to blkdev_put() (renamed to bdev_release()) > > without too much hassle. > > > > > > [...] > > > to ease review / testing. Christian, can you pull the patches to your tree > > to get some exposure in linux-next as well? Thanks! > > Yep. So I did it slighly differently. I pulled in the btrfs prereqs and > then applied your series on top of it so we get all the Link: tags right. > I'm running tests right now. Please double-check. Thanks for picking patches up! I've checked the branch and it looks good to me. Honza > > --- > > Applied to the vfs.super branch of the vfs/vfs.git tree. > Patches in the vfs.super branch should appear in linux-next soon. > > Please report any outstanding bugs that were missed during review in a > new review to the original patch series allowing us to drop it. > > It's encouraged to provide Acked-bys and Reviewed-bys even though the > patch has now been applied. If possible patch trailers will be updated. > > Note that commit hashes shown below are subject to change due to rebase, > trailer updates or similar. If in doubt, please check the listed branch. > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs.git > branch: vfs.super > > [01/29] block: Provide bdev_open_* functions > https://git.kernel.org/vfs/vfs/c/b7c828aa0b3c > [02/29] block: Use bdev_open_by_dev() in blkdev_open() > https://git.kernel.org/vfs/vfs/c/d4e36f27b45a > [03/29] block: Use bdev_open_by_dev() in disk_scan_partitions() and blkdev_bszset() > https://git.kernel.org/vfs/vfs/c/5f9bd6764c7a > [04/29] drdb: Convert to use bdev_open_by_path() > https://git.kernel.org/vfs/vfs/c/0220ca8e443d > [05/29] pktcdvd: Convert to bdev_open_by_dev() > https://git.kernel.org/vfs/vfs/c/7af10b889789 > [06/29] rnbd-srv: Convert to use bdev_open_by_path() > https://git.kernel.org/vfs/vfs/c/3d27892a4be7 > [07/29] xen/blkback: Convert to bdev_open_by_dev() > https://git.kernel.org/vfs/vfs/c/26afb0ed10b3 > [08/29] zram: Convert to use bdev_open_by_dev() > https://git.kernel.org/vfs/vfs/c/efc8e3f4c6dc > [09/29] bcache: Convert to bdev_open_by_path() > https://git.kernel.org/vfs/vfs/c/dc893f51d24a > [10/29] dm: Convert to bdev_open_by_dev() > https://git.kernel.org/vfs/vfs/c/80c2267c6d07 > [11/29] md: Convert to bdev_open_by_dev() > https://git.kernel.org/vfs/vfs/c/15db36126ca6 > [12/29] mtd: block2mtd: Convert to bdev_open_by_dev/path() > https://git.kernel.org/vfs/vfs/c/4c27234bf3ce > [13/29] nvmet: Convert to bdev_open_by_path() > https://git.kernel.org/vfs/vfs/c/70cffddcc300 > [14/29] s390/dasd: Convert to bdev_open_by_path() > https://git.kernel.org/vfs/vfs/c/5581d03457f8 > [15/29] scsi: target: Convert to bdev_open_by_path() > https://git.kernel.org/vfs/vfs/c/43de7d844d47 > [16/29] PM: hibernate: Convert to bdev_open_by_dev() > https://git.kernel.org/vfs/vfs/c/105ea4a2fd18 > [17/29] PM: hibernate: Drop unused snapshot_test argument > https://git.kernel.org/vfs/vfs/c/b589a66e3688 > [18/29] mm/swap: Convert to use bdev_open_by_dev() > https://git.kernel.org/vfs/vfs/c/615af8e29233 > [19/29] fs: Convert to bdev_open_by_dev() > https://git.kernel.org/vfs/vfs/c/5173192bcfe6 > [20/29] btrfs: Convert to bdev_open_by_path() > https://git.kernel.org/vfs/vfs/c/8cf64782764f > [21/29] erofs: Convert to use bdev_open_by_path() > https://git.kernel.org/vfs/vfs/c/4d41880bf249 > [22/29] ext4: Convert to bdev_open_by_dev() > https://git.kernel.org/vfs/vfs/c/f7507612395e > [23/29] f2fs: Convert to bdev_open_by_dev/path() > https://git.kernel.org/vfs/vfs/c/d9ff8e3b6498 > [24/29] jfs: Convert to bdev_open_by_dev() > https://git.kernel.org/vfs/vfs/c/459dc6376338 > [25/29] nfs/blocklayout: Convert to use bdev_open_by_dev/path() > https://git.kernel.org/vfs/vfs/c/5b1df9a40929 > [26/29] ocfs2: Convert to use bdev_open_by_dev() > https://git.kernel.org/vfs/vfs/c/b6b95acbd943 > [27/29] reiserfs: Convert to bdev_open_by_dev/path() > https://git.kernel.org/vfs/vfs/c/7e3615ff6119 > [28/29] xfs: Convert to bdev_open_by_path() > https://git.kernel.org/vfs/vfs/c/176ccb99e207 > [29/29] block: Remove blkdev_get_by_*() functions > https://git.kernel.org/vfs/vfs/c/953863a5a2ff