On 06.05.2015 13:29, Kevin Wolf wrote:
Before a freed cluster can be reused, pending discards for this cluster
must be processed.

The original assumption was that this was not a problem because discards
are only cached during discard/write zeroes operations, which are
synchronous so that no concurrent write requests can cause cluster
allocations.

However, the discard/write zeroes operation itself can allocate a new L2
table (and it has to in order to put zero flags there), so make sure we
can cope with the situation.

This fixes https://bugs.launchpad.net/bugs/1349972.

Signed-off-by: Kevin Wolf <kw...@redhat.com>
---
  block/qcow2-refcount.c | 5 +++++
  1 file changed, 5 insertions(+)

Reviewed-by: Max Reitz <mre...@redhat.com>

Reply via email to