diff options
| -rw-r--r-- | block/blk-iocost.c | 7 | 
1 files changed, 5 insertions, 2 deletions
| diff --git a/block/blk-iocost.c b/block/blk-iocost.c index 6084a9519883..9dfcf540f400 100644 --- a/block/blk-iocost.c +++ b/block/blk-iocost.c @@ -3301,11 +3301,9 @@ static ssize_t ioc_qos_write(struct kernfs_open_file *of, char *input,  		blk_stat_enable_accounting(disk->queue);  		blk_queue_flag_set(QUEUE_FLAG_RQ_ALLOC_TIME, disk->queue);  		ioc->enabled = true; -		wbt_disable_default(disk);  	} else {  		blk_queue_flag_clear(QUEUE_FLAG_RQ_ALLOC_TIME, disk->queue);  		ioc->enabled = false; -		wbt_enable_default(disk);  	}  	if (user) { @@ -3318,6 +3316,11 @@ static ssize_t ioc_qos_write(struct kernfs_open_file *of, char *input,  	ioc_refresh_params(ioc, true);  	spin_unlock_irq(&ioc->lock); +	if (enable) +		wbt_disable_default(disk); +	else +		wbt_enable_default(disk); +  	blk_mq_unquiesce_queue(disk->queue);  	blk_mq_unfreeze_queue(disk->queue); | 
