Bug #15034
closedPossible inconsistent IO when using configured for multiple op threads
0%
Description
When 'rbd_op_threads' is set to a value higher than 1 (defaults to 1), it's quite possible for an aio flush op to complete before a predecessor aio write/discard starts. These ops need to be tracked at the time of submission so that flush can properly account for them. Currently, the ops only start being tracked when they start executing.
Updated by Josh Durgin about 8 years ago
https://github.com/ceph/ceph/pull/8459 ignores this option in librbd for now.
Updated by Jason Dillaman almost 8 years ago
- Status changed from New to In Progress
The PR for issue #15688 has a fix for this issue -- ops are tracked in enqueued order so now a flush command will properly wait for all preceding ops.
Updated by Haomai Wang almost 8 years ago
This is only possible when enabing rbd_cache?
Updated by Jason Dillaman almost 8 years ago
@Haomai: the issue could have happened with cache disabled as well since the flush wouldn't know to wait for a preceding write/discard.
Updated by Jason Dillaman almost 8 years ago
PR: https://github.com/ceph/ceph/pull/9023 -- still requires re-enabling the librbd option.
Updated by Jason Dillaman over 6 years ago
- Status changed from In Progress to Resolved
Remaining issues being tracked under ticket #17379