OSDN Git Service

blk-iocost: prevent configuration update concurrent with io throttling
authorYu Kuai <yukuai3@huawei.com>
Wed, 12 Oct 2022 09:40:34 +0000 (17:40 +0800)
committerJens Axboe <axboe@kernel.dk>
Mon, 24 Oct 2022 00:59:16 +0000 (18:59 -0600)
commit2b2da2f6dc80e1299586f7e046a071809d5dee7f
tree7ad0f5755b8f2a7fac1ab6db336033df713d4b4c
parent2c0647988433c3d7120542a3c42e12c152dd7afc
blk-iocost: prevent configuration update concurrent with io throttling

This won't cause any severe problem currently, however, this doesn't
seems appropriate:

1) 'ioc->params' is read from multiple places without holding
'ioc->lock', unexpected value might be read if writing it concurrently.

2) If configuration is changed while io is throttling, the functionality
might be affected. For example, if module params is updated and cost
becomes smaller, waiting for timer that is caculated under old
configuration is not appropriate.

Signed-off-by: Yu Kuai <yukuai3@huawei.com>
Acked-by: Tejun Heo <tj@kernel.org>
Link: https://lore.kernel.org/r/20221012094035.390056-4-yukuai1@huaweicloud.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-iocost.c