]> www.infradead.org Git - users/hch/misc.git/commit
block: protect debugfs attrs using elevator_lock instead of sysfs_lock
authorNilay Shroff <nilay@linux.ibm.com>
Thu, 13 Mar 2025 11:51:50 +0000 (17:21 +0530)
committerJens Axboe <axboe@kernel.dk>
Thu, 13 Mar 2025 13:22:13 +0000 (07:22 -0600)
commita3996d11f3ab743e6cc4e3529ce9459c2cd27139
tree3faa7433f5152f95dd82ced70f8fa2058060dd56
parent75618ac6e98faee6ed1f17ae64875cc2d7784204
block: protect debugfs attrs using elevator_lock instead of sysfs_lock

Currently, the block debugfs attributes (tags, tags_bitmap, sched_tags,
and sched_tags_bitmap) are protected using q->sysfs_lock. However, these
attributes are updated in multiple scenarios:
- During driver probe method
- During an elevator switch/update
- During an nr_hw_queues update
- When writing to the sysfs attribute nr_requests

All these update paths (except driver probe method, which doesn't
require any protection) are already protected using q->elevator_lock. To
ensure consistency and proper synchronization, replace q->sysfs_lock
with q->elevator_lock for protecting these debugfs attributes.

Signed-off-by: Nilay Shroff <nilay@linux.ibm.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20250313115235.3707600-2-nilay@linux.ibm.com
[axboe: some commit message rewording/fixes]
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-mq-debugfs.c
include/linux/blkdev.h