mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2024-12-28 00:33:16 +00:00
block: return void from the queue_sysfs_entry load_module method
Requesting a module either succeeds or does nothing, return an error from this method does not make sense. Also move the load_module after the store method in the struct declaration to keep the important show and store methods together. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Damien Le Moal <dlemoal@kernel.org> Reviewed-by: Andreas Hindborg <a.hindborg@kernel.org> Link: https://lore.kernel.org/r/20241008050841.104602-1-hch@lst.de Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
758737d86f
commit
d51c9cdfc2
@ -23,8 +23,8 @@
|
||||
struct queue_sysfs_entry {
|
||||
struct attribute attr;
|
||||
ssize_t (*show)(struct gendisk *disk, char *page);
|
||||
int (*load_module)(struct gendisk *disk, const char *page, size_t count);
|
||||
ssize_t (*store)(struct gendisk *disk, const char *page, size_t count);
|
||||
void (*load_module)(struct gendisk *disk, const char *page, size_t count);
|
||||
};
|
||||
|
||||
static ssize_t
|
||||
@ -684,11 +684,8 @@ queue_attr_store(struct kobject *kobj, struct attribute *attr,
|
||||
* queue to ensure that the module file can be read when the request
|
||||
* queue is the one for the device storing the module file.
|
||||
*/
|
||||
if (entry->load_module) {
|
||||
res = entry->load_module(disk, page, length);
|
||||
if (res)
|
||||
return res;
|
||||
}
|
||||
if (entry->load_module)
|
||||
entry->load_module(disk, page, length);
|
||||
|
||||
blk_mq_freeze_queue(q);
|
||||
mutex_lock(&q->sysfs_lock);
|
||||
|
@ -704,15 +704,15 @@ static int elevator_change(struct request_queue *q, const char *elevator_name)
|
||||
return ret;
|
||||
}
|
||||
|
||||
int elv_iosched_load_module(struct gendisk *disk, const char *buf,
|
||||
size_t count)
|
||||
void elv_iosched_load_module(struct gendisk *disk, const char *buf,
|
||||
size_t count)
|
||||
{
|
||||
char elevator_name[ELV_NAME_MAX];
|
||||
struct elevator_type *found;
|
||||
const char *name;
|
||||
|
||||
if (!elv_support_iosched(disk->queue))
|
||||
return -EOPNOTSUPP;
|
||||
return;
|
||||
|
||||
strscpy(elevator_name, buf, sizeof(elevator_name));
|
||||
name = strstrip(elevator_name);
|
||||
@ -723,8 +723,6 @@ int elv_iosched_load_module(struct gendisk *disk, const char *buf,
|
||||
|
||||
if (!found)
|
||||
request_module("%s-iosched", name);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
ssize_t elv_iosched_store(struct gendisk *disk, const char *buf,
|
||||
|
@ -148,8 +148,8 @@ extern void elv_unregister(struct elevator_type *);
|
||||
* io scheduler sysfs switching
|
||||
*/
|
||||
ssize_t elv_iosched_show(struct gendisk *disk, char *page);
|
||||
int elv_iosched_load_module(struct gendisk *disk, const char *page,
|
||||
size_t count);
|
||||
void elv_iosched_load_module(struct gendisk *disk, const char *page,
|
||||
size_t count);
|
||||
ssize_t elv_iosched_store(struct gendisk *disk, const char *page, size_t count);
|
||||
|
||||
extern bool elv_bio_merge_ok(struct request *, struct bio *);
|
||||
|
Loading…
Reference in New Issue
Block a user