Applying with these fixes on my side:
- "Physically adjacent extents are merged into one discard" ->
  "Extents that follow each other both in the file and on disk are
  merged into one discard"
- "opened only through EXT4_IOC_OPEN_BALLOON, which takes
  CAP_SYS_ADMIN, so the lock only waits for ploop" -> "only a
  privileged process opens it, through EXT4_IOC_OPEN_BALLOON or a file
  handle, so in practice the lock waits only for ploop"

On Wed, 11 Nov 2026 12:31:34 +0100, Denis V. Lunev wrote:
> leave extents past i_size. Physically adjacent extents are merged into
> one discard, otherwise every cut at the unwritten extent length limit
> leaves a partly covered cluster of the image below. A merged run is

Sashiko is right here: the run also ends at a hole, a written extent
or an extent placed on disk before the one before it in the file.
ploop fills the balloon from offset 0 and never writes it, so the
code is fine and only the wording changes.

> balloon is hidden from lookup and opened only through
> EXT4_IOC_OPEN_BALLOON, which takes CAP_SYS_ADMIN, so the lock only
> waits for ploop inflating or shrinking it.

open_by_handle_at() opens the balloon too. It needs privileges as
well, and the exclusive locks cover any opener, so only the wording
changes.

> +     /*
> +      * Chunks keep a long run interruptible. They end on multiples of the
> +      * discard granularity, so no cluster below is split between two.
> +      */

Item 2 of the cover letter reply.

> +             ret = sb_issue_discard(sb, pblk, next - pblk, GFP_NOFS, 0);
> +             if (ret)
> +                     return ret;

Item 1 of the cover letter reply.

-- 
Konstantin Khorenko,
Virtuozzo Linux Kernel Team

_______________________________________________
Devel mailing list
[email protected]
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to