On Fri, Aug 21, 2020 at 12:39:50AM -0700, Omar Sandoval wrote: > Protocol Updates > ================ > > This series makes some changes to the send stream protocol beyond adding > the encoded write command/attributes and bumping the version. Namely, v1 > has a 64k limit on the size of a write due to the 16-bit attribute > length. This is not enough for encoded writes, as compressed extents may > be up to 128k and cannot be split up. To address this, the > BTRFS_SEND_A_DATA is treated specially in v2: its length is implicitly > the remaining length of the command (which has a 32-bit length). This > was the last bad of the options I considered. > > There are other commands that we've been wanting to add to the protocol: > fallocate and FS_IOC_SETFLAGS. This series reserves their command and > attribute numbers but does not implement kernel support for emitting > them. However, it does implement support in receive for them, so the > kernel can start emitting those whenever we get around to implementing > them. Can you please outline the protocol changes (as a bullet list) and eventually cross-ref with items https://btrfs.wiki.kernel.org/index.php/Design_notes_on_Send/Receive#Send_stream_v2_draft I'd like to know which and why you did not implement. The decision here is between get v2 out with most desired options and rev v3 later with the rest, or do v2 as complete as possible.