On 8/31/2017 3:34 PM, Alberto Garcia wrote:
On Wed 30 Aug 2017 05:12:22 PM CEST, Pradeep Jagadeesh wrote:
On 8/30/2017 5:10 PM, Alberto Garcia wrote:
On Wed 30 Aug 2017 05:07:29 PM CEST, Pradeep Jagadeesh wrote:

Thanks for the steps, I did reproduce the issue easily. Looking into
the code, may be we also need to try the same with the block devices.

I did some tests and it was working fine, so I'd suspect of the fsdev
code first.

OK, thanks for the clarification. I will look into fsdev code.

I just took a quick look at the code, the problem is almost certainly in
fsdev_set_io_throttle(): that doesn't simply update the config, it also
reinitializes the FsThrottle structure completely, creates new timers
and new throttled_reqs queues. If there were pending requests there
they're probably lost forever.

Take a look at blk_set_io_limits() and see how it is done for block
devices.
Yes, that is right. I had a look. Now I am figuring out how to initialize the timers without loosing the pending requests.
If I update the config when there is no IO going, it works fine.
When IO is going and try to update it hangs.

-Pradeep

Berto



Reply via email to