-
- Downloads
block: get rid of request queue ->sysfs_dir_lock
The request queue uses ->sysfs_dir_lock for protecting the addition/ deletion of kobject entries under sysfs while we register/unregister blk-mq. However kobject addition/deletion is already protected with kernfs/sysfs internal synchronization primitives. So use of q->sysfs_ dir_lock seems redundant. Moreover, q->sysfs_dir_lock is also used at few other callsites along with q->sysfs_lock for protecting the addition/deletion of kojects. One such example is when we register with sysfs a set of independent access ranges for a disk. Here as well we could get rid off q->sysfs_ dir_lock and only use q->sysfs_lock. The only variable which q->sysfs_dir_lock appears to protect is q-> mq_sysfs_init_done which is set/unset while registering/unregistering blk-mq with sysfs. But use of q->mq_sysfs_init_done could be easily replaced using queue registered bit QUEUE_FLAG_REGISTERED. So with this patch we remove q->sysfs_dir_lock from each callsite and replace q->mq_sysfs_init_done using QUEUE_FLAG_REGISTERED. Reviewed-by:Christoph Hellwig <hch@lst.de> Signed-off-by:
Nilay Shroff <nilay@linux.ibm.com> Reviewed-by:
Hannes Reinecke <hare@suse.de> Link: https://lore.kernel.org/r/20250128143436.874357-2-nilay@linux.ibm.com Signed-off-by:
Jens Axboe <axboe@kernel.dk>
Showing
- block/blk-core.c 0 additions, 1 deletionblock/blk-core.c
- block/blk-ia-ranges.c 0 additions, 4 deletionsblock/blk-ia-ranges.c
- block/blk-mq-sysfs.c 5 additions, 18 deletionsblock/blk-mq-sysfs.c
- block/blk-sysfs.c 0 additions, 5 deletionsblock/blk-sysfs.c
- include/linux/blkdev.h 0 additions, 3 deletionsinclude/linux/blkdev.h
Loading
Please register or sign in to comment