# Virtio queue backpressure contract (K1496–K1500) The queue owns a bounded descriptor budget. A request claims a nonzero number of descriptors with one live head and generation. If the remaining budget is too small, submission returns `Again` (EAGAIN) and leaves every existing claim and counter unchanged. No descriptor or avail index is published for a rejected request. A completion frees only the descriptors of its live head. The caller may then retry a rejected request and observe progress. An unknown or repeated head is rejected without changing the budget. Reset may retire outstanding claims only after device status and queue readiness are observed as zero; before that, DMA remains owned or quarantined. Local tests cover capacity, one extra request, retry, reset, and a removed-capacity-guard mutant. K1500 must prove the request ordering with a real QEMU queue in both boot paths.