[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [Nbd] [PATCH v2] doc: Add NBD_CMD_BLOCK_STATUS extensio
From: |
Wouter Verhelst |
Subject: |
Re: [Qemu-devel] [Nbd] [PATCH v2] doc: Add NBD_CMD_BLOCK_STATUS extension |
Date: |
Tue, 5 Apr 2016 01:08:17 +0200 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
On Mon, Apr 04, 2016 at 10:54:02PM +0300, Denis V. Lunev wrote:
> saying about dirtiness, we would soon come to the fact, that
> we can have several dirtiness states regarding different
> lines of incremental backups. This complexity is hidden
> inside QEMU and it would be very difficult to publish and
> reuse it.
How about this then.
A reply to GET_BLOCK_STATUS containing chunks of this:
32-bit length
32-bit "snapshot status"
if bit 0 in the latter field is set, that means the block is allocated
on the original device
if bit 1 is set, that means the block is allocated on the first-level
snapshot
if bit 2 is set, that means the block is allocated on the second-level
snapshot
etc
If all flags are cleared, that means the block is not allocated (i.e.,
is a hole) and MUST read as zeroes.
If a flag is set at a particular level X, that means the device is dirty
at the Xth-level snapshot.
If at least one flag is set for a region, that means the data may read
as "not zero".
The protocol does not define what it means to have multiple levels of
snapshots, other than:
- Any write command (WRITE or WRITE_ZEROES) MUST NOT clear or set the
Xth level flag if the Yth level flag is not also cleared at the same
time, for any Y > X
- Any write (as above) MAY set or clear multiple levels of flags at the
same time, as long as the above holds
Having a 32-bit snapshot status field allows for 32 levels of snapshots.
We could switch length and flags to 64 bits so that things continue to
align nicely, and then we have a maximum of 64 levels of snapshots.
(I'm not going to write this up formally at this time of night, but you
get the general idea)
--
< ron> I mean, the main *practical* problem with C++, is there's like a dozen
people in the world who think they really understand all of its rules,
and pretty much all of them are just lying to themselves too.
-- #debian-devel, OFTC, 2016-02-12
- Re: [Qemu-devel] [Nbd] [PATCH v2] doc: Add NBD_CMD_BLOCK_STATUS extension, (continued)
- Re: [Qemu-devel] [Nbd] [PATCH v2] doc: Add NBD_CMD_BLOCK_STATUS extension, Alex Bligh, 2016/04/04
- Re: [Qemu-devel] [Nbd] [PATCH v2] doc: Add NBD_CMD_BLOCK_STATUS extension, Denis V. Lunev, 2016/04/04
- Re: [Qemu-devel] [Nbd] [PATCH v2] doc: Add NBD_CMD_BLOCK_STATUS extension, Eric Blake, 2016/04/04
- Re: [Qemu-devel] [Nbd] [PATCH v2] doc: Add NBD_CMD_BLOCK_STATUS extension, Denis V. Lunev, 2016/04/04
- Re: [Qemu-devel] [Nbd] [PATCH v2] doc: Add NBD_CMD_BLOCK_STATUS extension, Alex Bligh, 2016/04/04
- Re: [Qemu-devel] [Nbd] [PATCH v2] doc: Add NBD_CMD_BLOCK_STATUS extension, Paolo Bonzini, 2016/04/05
- Re: [Qemu-devel] [Nbd] [PATCH v2] doc: Add NBD_CMD_BLOCK_STATUS extension, Alex Bligh, 2016/04/05
- Re: [Qemu-devel] [Nbd] [PATCH v2] doc: Add NBD_CMD_BLOCK_STATUS extension, Paolo Bonzini, 2016/04/05
- Re: [Qemu-devel] [Nbd] [PATCH v2] doc: Add NBD_CMD_BLOCK_STATUS extension, Alex Bligh, 2016/04/05
- Re: [Qemu-devel] [Nbd] [PATCH v2] doc: Add NBD_CMD_BLOCK_STATUS extension, Paolo Bonzini, 2016/04/05
- Re: [Qemu-devel] [Nbd] [PATCH v2] doc: Add NBD_CMD_BLOCK_STATUS extension,
Wouter Verhelst <=
- Re: [Qemu-devel] [Nbd] [PATCH v2] doc: Add NBD_CMD_BLOCK_STATUS extension, Eric Blake, 2016/04/04
- Re: [Qemu-devel] [Nbd] [PATCH v2] doc: Add NBD_CMD_BLOCK_STATUS extension, Wouter Verhelst, 2016/04/05
- Re: [Qemu-devel] [Nbd] [PATCH v2] doc: Add NBD_CMD_BLOCK_STATUS extension, Wouter Verhelst, 2016/04/05
- Re: [Qemu-devel] [Nbd] [PATCH v2] doc: Add NBD_CMD_BLOCK_STATUS extension, Alex Bligh, 2016/04/05
- Re: [Qemu-devel] [Nbd] [PATCH v2] doc: Add NBD_CMD_BLOCK_STATUS extension, Alex Bligh, 2016/04/04
- Re: [Qemu-devel] [Nbd] [PATCH v2] doc: Add NBD_CMD_BLOCK_STATUS extension, Denis V. Lunev, 2016/04/04
- Re: [Qemu-devel] [Nbd] [PATCH v2] doc: Add NBD_CMD_BLOCK_STATUS extension, Alex Bligh, 2016/04/04
- Re: [Qemu-devel] [Nbd] [PATCH v2] doc: Add NBD_CMD_BLOCK_STATUS extension, Denis V. Lunev, 2016/04/04
- Re: [Qemu-devel] [Nbd] [PATCH v2] doc: Add NBD_CMD_BLOCK_STATUS extension, Alex Bligh, 2016/04/04
- Re: [Qemu-devel] [Nbd] [PATCH v2] doc: Add NBD_CMD_BLOCK_STATUS extension, Denis V. Lunev, 2016/04/04