On 03/31/2016 07:02 AM, Denis V. Lunev wrote: > From: Pavel Borzenkov <pborzen...@virtuozzo.com> > > There exist some cases when a client knows that the data it is going to > write is all zeroes. Such cases include mirroring or backing up a device > implemented by a sparse file. > > With current NBD command set, the client has to issue NBD_CMD_WRITE > command with zeroed payload and transfer these zero bytes through the > wire. The server has to write the data onto disk, effectively denying > the sparseness. > > To remedy this, the patch adds WRITE_ZEROES extension with one new > NBD_CMD_WRITE_ZEROES command. >
> +++ b/doc/proto.md > @@ -261,6 +261,8 @@ immediately after the handshake flags field in oldstyle > negotiation: > schedule I/O accesses as for a rotational medium > - bit 5, `NBD_FLAG_SEND_TRIM`; should be set to 1 if the server supports > `NBD_CMD_TRIM` commands > +- bit 6, `NBD_FLAG_SEND_WRITE_ZEROES`; should be set to 1 if the server > + supports `NBD_CMD_WRITE_ZEROES` commands Hmm, we've picked overlapping bits between your proposal and mine for `NBD_FLAG_SEND_DF`. Obviously, whoever goes in second gets bit 7. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature