Thread (20 messages) 20 messages, 6 authors, 2023-07-31

Re: [PATCH 01/32] block: Provide blkdev_get_handle_* functions

From: Jan Kara <jack@suse.cz>
Date: 2023-07-05 16:12:31
Also in: dm-devel, linux-bcache, linux-block, linux-btrfs, linux-ext4, linux-f2fs-devel, linux-fsdevel, linux-mm, linux-nfs, linux-nvme, linux-pm, linux-s390, linux-scsi, linux-xfs, target-devel, xen-devel

On Tue 04-07-23 07:06:26, Bart Van Assche wrote:
On 7/4/23 05:21, Jan Kara wrote:
quoted
+struct bdev_handle {
+	struct block_device *bdev;
+	void *holder;
+};
Please explain in the patch description why a holder pointer is introduced
in struct bdev_handle and how it relates to the bd_holder pointer in struct
block_device. Is one of the purposes of this patch series perhaps to add
support for multiple holders per block device?
No. The reason for adding holder to struct bdev_handle is that it is an
argument blkdev_put() needs. Currently, every user of blkdev_put() has to
remember what it has passed as 'holder' to blkdev_get_by_*() call and pass
that to blkdev_put(). With struct bdev_handle this will happen
automatically. This is already explained in the changelog of this patch:

"Create struct bdev_handle that contains all parameters that need to be
passed to blkdev_put()..."

If it was only about holder, the intrusive patches would not be warranted
but as the description also says:

"This will eventually allow us to pass one more argument to blkdev_put()
without too much hassle."

Because we will additionaly need to propagate the 'mode' argument used at
open to blkdev_put().

								Honza

-- 
Jan Kara [off-list ref]
SUSE Labs, CR
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help