btrfs: discard: reschedule work after sysfs param update
After sysfs updates discard's iops_limit or kbps_limit it also needs to adjust current timer through rescheduling, otherwise the discard work may wait for a long time for the previous timer to expire or bumped by someone else. Reviewed-by: Josef Bacik <josef@toxicpanda.com> Signed-off-by: Pavel Begunkov <asml.silence@gmail.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
df903e5d29
commit
3e48d8d254
@ -458,7 +458,8 @@ static ssize_t btrfs_discard_iops_limit_store(struct kobject *kobj,
|
||||
return -EINVAL;
|
||||
|
||||
WRITE_ONCE(discard_ctl->iops_limit, iops_limit);
|
||||
|
||||
btrfs_discard_calc_delay(discard_ctl);
|
||||
btrfs_discard_schedule_work(discard_ctl, true);
|
||||
return len;
|
||||
}
|
||||
BTRFS_ATTR_RW(discard, iops_limit, btrfs_discard_iops_limit_show,
|
||||
@ -488,7 +489,7 @@ static ssize_t btrfs_discard_kbps_limit_store(struct kobject *kobj,
|
||||
return -EINVAL;
|
||||
|
||||
WRITE_ONCE(discard_ctl->kbps_limit, kbps_limit);
|
||||
|
||||
btrfs_discard_schedule_work(discard_ctl, true);
|
||||
return len;
|
||||
}
|
||||
BTRFS_ATTR_RW(discard, kbps_limit, btrfs_discard_kbps_limit_show,
|
||||
|
Loading…
Reference in New Issue
Block a user