As far as I can see, these are the only protocols beside file-posix that support preallocated creation. In contrast to file-posix, however, they have not supported preallocated truncation so far. This series brings their truncation code to feature parity with their creation code in this regard.
Note that I do not have a test setup for either of the two drivers, so I do not actually know whether this works. Anyone with a setup is more than welcome to test this series. Max Reitz (7): gluster: Move glfs_close() to create's clean-up gluster: Pull truncation from qemu_gluster_create gluster: Query current size in do_truncate() gluster: Add preallocated truncation sheepdog: Make sd_prealloc() take a BDS sheepdog: Pass old and new size to sd_prealloc() sheepdog: Allow fully preallocated truncation block/gluster.c | 116 ++++++++++++++++++++++++++++++------------------------- block/sheepdog.c | 56 +++++++++++++++++---------- 2 files changed, 99 insertions(+), 73 deletions(-) -- 2.14.3
