--On 22 May 2011 11:39:30 +0200 Goswin von Brederlow <goswin-v-b@...186...> wrote:
One could do that. Currently the NBD_CMD_FLUSH implementation is modeled on Linux's REQ_FLUSH, which is a whole device command. Are there other users of nbd-server which would benefit from such a partial flush? You also end up with a question as to whetherI was thinking of what would be the best when you have for example lvm on nbd or the nbd is mmaped and msync is called. It could be possible to improves Linux to preserve the range.
The previous barrier stuff did this before it was ripped out, I think. On reflection, I think the best thing for now is for the protocol to define that zero offset and range means "flush the whole device" and leave the other possibilities undefined (for expansion should any client ever have a need for flushes of specific areas without a corresponding write). I'll change the documentation and the kernel client. -- Alex Bligh