On 03/24/2016 09:53 AM, Wouter Verhelst wrote: > On Thu, Mar 24, 2016 at 04:33:42PM +0100, Paolo Bonzini wrote: >> On 24/03/2016 16:25, Eric Blake wrote: >>>> However, let's make these bits, so that >>>> >>>> NBD_STATE_ALLOCATED (0x1), LBA extent is present on the block device >>>> NBD_STATE_ZERO (0x2), LBA extent will read as zeroes >>> >>> Should we flip the sense and call this NBD_STATE_UNALLOCATED (0 means >>> allocated, 1 means not present), so that an overall status of 0 is a >>> safe default? >> >> Double negations are evil (and don't work the same in all languages), so >> I think it's a worse option. > > I agree that a bit which says "unallocated" is confusing in that manner, > but that just means we need a better name (one that doesn't contain > "un-" or "not") > > I like the idea of having zero be the "sensible" default, although I'm > quite unable to come up with a better name myself. NBD_STATE_TRIM, perhaps? (0 for present, 1 for trimmed or unallocated); matches well that we have NBD_CMD_TRIM for requesting the creation of such a state. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org