Re: [Devel] [PATCH v4 VZ9 3/5] dm-qcow2: make merge_backward command asyncronous

2025-03-05 Thread Alexander Atanasov
On 5.03.25 5:53, Pavel Tikhomirov wrote: @@ -63,7 +65,7 @@ static int qcow2_service_iter(struct qcow2_target *tgt, struct qcow2 *qcow2,   WRITE_ONCE(service_status, BLK_STS_OK);   for (pos = 0; pos < end; pos += step) { -    if (fatal_signal_pending(current)) { +    if (qcow2_b

[Devel] [PATCH v5 VZ9 2/4] dm-qcow2: cleanup error handling in qcow2_merge_backward

2025-03-05 Thread Pavel Tikhomirov
The label "out" is excess, lets remove it in accordance with: "If there is no cleanup needed then just return directly." https://www.kernel.org/doc/html/v4.10/process/coding-style.html#centralized-exiting-of-functions https://virtuozzo.atlassian.net/browse/VSTOR-100466 Signed-off-by: Pavel Tikhom

[Devel] [PATCH v5 VZ9 4/4] dm-qcow2: add merge_backward progress command

2025-03-05 Thread Pavel Tikhomirov
This allows to see progress of backward merge. It shows the stage we are at and for iterative stages it provides progress in form of how many iteratious are done and how many iterations there are in total. Locking: The progress data consistency is protected by tgt->ctl_mutex, we always update sta

[Devel] [PATCH v5 VZ9 3/4] dm-qcow2: make merge_backward command asyncronous

2025-03-05 Thread Pavel Tikhomirov
This adds merge_backward "start", "complete", "update_eventfd" and "cancel" commands. By that we are able to split single merge_backward into two stages: start asyncronous merging and completion. That can be usefull for restarting qemu process while allowing backward merging to run asyncronously in

[Devel] [PATCH v5 VZ9 1/4] dm-qcow2: fix warning about wrong printk format for size_t

2025-03-05 Thread Pavel Tikhomirov
In file included from ./include/linux/kernel.h:20, from ./include/linux/list.h:9, from ./include/linux/preempt.h:12, from ./include/linux/spinlock.h:56, from drivers/md/dm-qcow2-map.c:5: drivers/md/dm-qcow2-map.c: In fu

[Devel] [PATCH v5 VZ9 0/4] dm-qcow2: make backward merge asyncronous

2025-03-05 Thread Pavel Tikhomirov
That can be usefull for restarting qemu process while allowing backward merging to run asyncronously in kernel. v2: rebase on top of vz9.80.19, make completion event consistent, fix deadlock when cancel after start and before work run v3: weaken locking in progress printing a bit to decrease possi

Re: [Devel] [PATCH v4 VZ9 4/5] dm-qcow2: add merge_backward set_eventfd command

2025-03-05 Thread Alexander Atanasov
On 3.03.25 11:37, Pavel Tikhomirov wrote: This eventfd can be used to get an event when merge_backward start work have finished and is waiting for completion. What is the benefit of using eventfd versus devicemapper events? -- Regards, Alexander Atanasov ___

Re: [Devel] [PATCH v4 VZ9 4/5] dm-qcow2: add merge_backward set_eventfd command

2025-03-05 Thread Pavel Tikhomirov
On 3/5/25 16:42, Alexander Atanasov wrote: On 3.03.25 11:37, Pavel Tikhomirov wrote: This eventfd can be used to get an event when merge_backward start work have finished and is waiting for completion. What is the benefit of using eventfd versus devicemapper events? In my understanding th