mirror of
https://github.com/kvcache-ai/AgentENV.git
synced 2026-11-05 01:17:36 +00:00
[GH-ISSUE #203] ublk: proactive refill causes device churn without UBLK_F_UPDATE_SIZE #65
Labels
No labels
bug
documentation
enhancement
enhancement
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
kvcache-ai/AgentENV#65
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @ztting01 on GitHub (Aug 22, 2026).
Original GitHub issue: https://github.com/kvcache-ai/AgentENV/issues/203
Affected component
ublk / ublk-daemon
AgentENV version
1a58ff95e17b45c4178cd87ceaca61386f7a8c2cHost environment
6.6.0-132.0.0.111.oe2403sp3.aarch640x1fe(UBLK_F_UPDATE_SIZEis unavailable)Operation and configuration
We repeatedly paused and resumed sandboxes using 64 GiB rootfs devices and 2 GiB memory-snapshot devices with the block-device pool enabled:
Steps to reproduce
UBLK_F_UPDATE_SIZE.lsblk.Expected behavior
A single device size should not monopolize the global idle pool when idle ublk devices cannot be resized. Different image sizes should be reusable without continuous device creation and destruction.
Actual behavior
The refill target grows from the low watermark toward the high watermark and refill uses one observed image size. In this test, 64 GiB devices filled all 64 idle slots.
Because the kernel cannot resize those devices, later 2 GiB memory-snapshot requests cannot reuse them. A 2 GiB device is created on resume, rejected when it is returned to the full pool on pause, and then stopped. The cycle repeats on the next resume.
Logs and diagnostics
The same host, snapshot template and workload were used for both runs. As a diagnostic, we disabled proactive block-device refill when
UBLK_F_UPDATE_SIZEwas unavailable and measured the naturally warmed stable state.No unexpected errors or warnings occurred in the diagnostic run.
Reproduction frequency
Always under this workload.
Regression information
Additional context
UBLK_U_CMD_UPDATE_SIZE/UBLK_F_UPDATE_SIZEwas added upstream in Linux 6.16. AgentENV currently documents Linux 6.8+ as its host requirement, so kernels from 6.8 through 6.15 do not have this capability unless it has been backported.Pre-submission checklist