From: Konstantin Khorenko <khorenko@virtuozzo.com>
To: "Denis V. Lunev" <den@openvz.org>
Cc: devel@openvz.org
Subject: Re: [Devel] [PATCH hci-8.1 0/2] dm-ploop: fix flip_upper_deltas panicking the host in its pre-flip check
Date: Thu, 05 Nov 2026 13:58:48 +0100 [thread overview]
Message-ID: <179388352808.2823727.5128052268835879184.b4-review@b4> (raw)
In-Reply-To: <20261104214635.2063009-1-den@openvz.org>
I won't apply this version, please send v2 with the changes below.
On Wed, 04 Nov 2026 22:46:33 +0100, Denis V. Lunev wrote:
> Denis V. Lunev (2):
> dm-ploop: fix flip_upper_deltas returning with two md_locks held
> dm-ploop: fix flip_upper_deltas walking past the BAT of the lower
> delta
What to change for v2:
1. Patch 1 and the cover letter, message only: drop the read-only and
EACCES argument for the library. The code of patch 1 stays as is.
2. Patch 2, code: refuse the flip when the lower delta covers fewer BAT
entries than the device. Keep the `end` fix. A separate patch placed
before 2/2 is fine too.
3. Patch 2, message: "the stop never matches" is not exact, and the
first paragraph needs splitting.
4. Cover letter: redo the grow test with writes past the old size after
the flip.
Details on items 1-3 are in the replies to the patches. Below are the
details on items 1 and 4.
> Neither is reached through the ploop library. Its reverse merge, the
> only sender of the flip, grows the lower delta to the size of the top
> and clears the clusters both deltas map before it flips, and a device it
> mounted has the lower delta read-only, which the flip refuses with
> EACCES before the check. Both take a flip of a table built with the
> lower delta read-write, so VSTOR-153445 has no RK for 8.0. This is the
Item 1. reverse_merge_online() reloads the table with PLOOP_RELOAD_RW2
right before it suspends and flips, so every library flip passes the
EACCES check and runs ploop_check_delta_before_flip(). The library is
safe only because it grows the lower delta and zeroes the shared
clusters with the device suspended. The "no RK" conclusion holds, the
reason given for it does not.
> - set_noresume, suspend, a grow to 2T and flip_upper_deltas: the stock
> module oopses at ploop_check_delta_before_flip+0x86, with the series
> the flip completes and the images keep their data;
Item 4. With patch 2 alone this flip completes with a new top smaller
than the device, and the first BAT writeback after resume damages it
(see the reply to patch 2). The test checked the data right after the
flip, before any write reached the new top.
--
Konstantin Khorenko,
Virtuozzo Linux Kernel Team
_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel
prev parent reply other threads:[~2026-11-05 13:00 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-04 21:46 Denis V. Lunev
2026-11-04 21:46 ` [Devel] [PATCH hci-8.1 1/2] dm-ploop: fix flip_upper_deltas returning with two md_locks held Denis V. Lunev
2026-11-04 21:50 ` no-reply
2026-11-05 12:58 ` Konstantin Khorenko
2026-11-04 21:46 ` [Devel] [PATCH hci-8.1 2/2] dm-ploop: fix flip_upper_deltas walking past the BAT of the lower delta Denis V. Lunev
2026-11-04 21:50 ` no-reply
2026-11-05 12:58 ` Konstantin Khorenko
2026-11-05 12:36 ` [Devel] [PATCH hci-8.1 0/2] dm-ploop: fix flip_upper_deltas panicking the host in its pre-flip check Andrey Zhadchenko
2026-11-05 12:58 ` Konstantin Khorenko [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=179388352808.2823727.5128052268835879184.b4-review@b4 \
--to=khorenko@virtuozzo.com \
--cc=den@openvz.org \
--cc=devel@openvz.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox