Re: [PATCH 05/11] block: add a store_limit operations for sysfs entries

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/01/2025 05:47, Christoph Hellwig wrote:
De-duplicate the code for updating queue limits by adding a store_limit
method that allows having common code handle the actual queue limits
update.

Note that this is a pure refactoring patch and does not address the
existing freeze vs limits lock order problem in the refactored code,
which will be addressed next.

Signed-off-by: Christoph Hellwig <hch@xxxxxx>
Reviewed-by: Ming Lei <ming.lei@xxxxxxxxxx>
Reviewed-by: Damien Le Moal <dlemoal@xxxxxxxxxx>
Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx>
Reviewed-by: Nilay Shroff <nilay@xxxxxxxxxxxxx>
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@xxxxxxx>

Apart from the comment on types, below:
Reviewed-by: John Garry <john.g.garry@xxxxxxxxxx>

---
  block/blk-sysfs.c | 128 ++++++++++++++++++++++------------------------
  1 file changed, 61 insertions(+), 67 deletions(-)

diff --git a/block/blk-sysfs.c b/block/blk-sysfs.c
index e9f1c82b2f3e..d2aa2177e4ba 100644
--- a/block/blk-sysfs.c
+++ b/block/blk-sysfs.c
@@ -24,6 +24,8 @@ struct queue_sysfs_entry {
  	struct attribute attr;
  	ssize_t (*show)(struct gendisk *disk, char *page);
  	ssize_t (*store)(struct gendisk *disk, const char *page, size_t count);
+	int (*store_limit)(struct gendisk *disk, const char *page,

I don't really see why this returns an int, while the queue features callback methods return a ssize_t. I know that the res variable in queue_attr_store() gets mixed with an int for updating the queue limits, but I don't see that as a reason to use int here.

+			size_t count, struct queue_limits *lim);
  	void (*load_module)(struct gendisk *disk, const char *page, size_t count);
  };
@@ -153,13 +155,11 @@ QUEUE_SYSFS_SHOW_CONST(discard_zeroes_data, 0)
  QUEUE_SYSFS_SHOW_CONST(write_same_max, 0)
  QUEUE_SYSFS_SHOW_CONST(poll_delay, -1)





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux