[PATCH 05/11] block: add a store_limit operations for sysfs entries
John Garry
john.g.garry at oracle.com
Fri Jan 10 01:56:35 PST 2025
On 10/01/2025 05:47, Christoph Hellwig wrote:
> -static ssize_t queue_iostats_passthrough_store(struct gendisk *disk,
> - const char *page, size_t count)
> +static int queue_iostats_passthrough_store(struct gendisk *disk,
> + const char *page, size_t count, struct queue_limits *lim)
> {
> - struct queue_limits lim;
> unsigned long ios;
> ssize_t ret;
>
> @@ -284,18 +269,13 @@ static ssize_t queue_iostats_passthrough_store(struct gendisk *disk,
> if (ret < 0)
> return ret;
>
> - lim = queue_limits_start_update(disk->queue);
> if (ios)
> - lim.flags |= BLK_FLAG_IOSTATS_PASSTHROUGH;
> + lim->flags |= BLK_FLAG_IOSTATS_PASSTHROUGH;
> else
> - lim.flags &= ~BLK_FLAG_IOSTATS_PASSTHROUGH;
> -
> - ret = queue_limits_commit_update(disk->queue, &lim);
> - if (ret)
> - return ret;
> -
> - return count;
> + lim->flags &= ~BLK_FLAG_IOSTATS_PASSTHROUGH;
> + return 0;
> }
BTW, this function seems to duplicate queue_feature_store(), no?
I mean, why not:
static int queue_iostats_passthrough_store(struct gendisk *disk,
const char *page, size_t count, struct queue_limits *lim)
{
return queue_feature_store(disk, page, count, lim,
BLK_FLAG_IOSTATS_PASSTHROUGH);
}
I think that there is even a macro for this.
More information about the Linux-nvme
mailing list