[Devel] [PATCH hci-8.1 v7 8/8] block/blk-cbt: account a write request also when dm starts it

no-reply at sashiko.virtuozzo.com no-reply at sashiko.virtuozzo.com
Wed Oct 28 13:25:14 MSK 2026


> CBT accounts a write at bio submission. dm suspend of request based dm
> waits only for started requests, so a request submitted before the
> suspend but dispatched after resume is accounted before a backup point
> taken under the suspend (BLKCBTSTART, CBT_SNAP_CREATE) while its data
> lands after it. push_backup then saves the old data, and no incremental
> backup copies the new one.
> 
> Account a write again when dm starts it. This runs under the dispatch
> rcu_read_lock(), so it can't allocate: it sets the bits directly in the
> bitmap pages, and the allocation of missing pages is now queued to the
> kblockd workqueue already at submission. If a page is still missing when
> dm starts the request (the work did not run yet, or the write was
> submitted before BLKCBTSTART), dm returns BLK_STS_RESOURCE, so that
> blk-mq dispatches the request again later.
> 
> https://virtuozzo.atlassian.net/browse/VSTOR-149268
> Feature: cbt: changed block tracking (for backup)
> Signed-off-by: Pavel Tikhomirov <ptikhomirov at virtuozzo.com>

Sashiko has reviewed this patch and found no issues. It looks great!

-- 
Sashiko AI review · https://sashiko.vzint.dev/#/patchset/20261028-ptikhomirov-vstor-149268-cbt-account-at-rq-start-v7-0-5c48672191c2@virtuozzo.com?part=8




More information about the Devel mailing list