On 6/14/23 16:07, Christoph Hellwig wrote: > I don't actually think swapfile is a very good idea, in fact the Linux > swap code in general is not a very good place to look for inspirations > 😄 Perhaps. I haven't looked at the code yet. But I like the idea of protecting the file from any access from the user-space, as it is implemented for swapfile. > > IFF the usage is always to have a whole file for the diff storage the > over all API is very simple - just pass a fd to the kernel for the area, > and then use in-kernel direct I/O on it. Now if that file should also > be able to reside on the same file system that the snapshot is taken > of things get a little more complicated, because writes to it also need > to automatically set the BIO_REFFED flag. There is definitely no task to create a difference storage file on the same block device for which the snapshot is being created. The file can be created on any block device. Still, the variant when a whole partition is allocated for the difference storage can also be useful. > I have some ideas for that and will share some draft code with you. I'll be glad.