With this patchset, we start to check if the upcoming requests for ploop have REQ_FUA flag. If the flag is present: - IO submits immediately, completion waits for BAT update - BAT updates submit immediately - set IOCB_DSYNC for writes and BAT updates - BAT update does not trigger flush If the flag is absent: - IO completion does not wait for BAT update - all BAT updates are periodically submitted in a batch - BAT update does not trigger flush
New parameter with metadata submit delay can be specified when setting up ploop table v2 changes: - drop flush after BAT updates even for FUA requests - set IOCB_DSYNC flag on writes triggered by FUA - complete all accumulated metadata on FLUSH requests - support REQ_PREFLUSH flag Andrey Zhadchenko (3): dm-ploop: do not flush BAT writes if request was not FUA dm-ploop: do not wait for BAT update for non-FUA requests dm-ploop: add delay for metadata writeback *** BLURB HERE *** Andrey Zhadchenko (6): dm-ploop: do not flush after metadata writes dm-ploop: set IOCB_DSYNC on all FUA requests dm-ploop: do not wait for BAT update for non-FUA requests dm-ploop: add delay for metadata writeback dm-ploop: submit all postponed metadata on REQ_OP_FLUSH dm-ploop: handle REQ_PREFLUSH drivers/md/dm-ploop-bat.c | 1 + drivers/md/dm-ploop-map.c | 154 +++++++++++++++++++++++++++-------- drivers/md/dm-ploop-target.c | 13 +++ drivers/md/dm-ploop.h | 9 ++ 4 files changed, 143 insertions(+), 34 deletions(-) -- 2.39.3 _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel