Recently we encountered EBUSY errors while trying to resize ploop devices under load. This mostly happens because we are not waiting in-progess IO correctly: - initial pio is removed from inflight even if its split pios are still running - there are no wait for metadata writeback
This patchset fixes that by moving inflight decrease later and introducing new counter for inflight metadata writeback. Note that for dm-qcow2 patches are not needed: it does not have delayed metadata writeback and inflight countera are decreased correctly at the time of endio_cb https://virtuozzo.atlassian.net/browse/VSTOR-108540 Andrey Zhadchenko (3): drivers/md/ploop: drop excessive wb delay disable during resize drivers/md/ploop: add inflight metadata writeback counter drivers/md/ploop: decrease inflight number after pio endio drivers/md/dm-ploop-cmd.c | 12 +++++++++--- drivers/md/dm-ploop-map.c | 11 ++++++++++- drivers/md/dm-ploop-target.c | 2 ++ drivers/md/dm-ploop.h | 3 +++ 4 files changed, 24 insertions(+), 4 deletions(-) -- 2.43.5 _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel