Allow users to write through their viewer (will write a file sparsely or open an new "sparse file") and allow them to write to it. On fsync/flush we stream the bytes and gaps to the upstream (this is costly by allowing the user to control fsync/flush calls we can ensure that they've acknowledged it may be costly instead of doing a sparse upload every write.)
Allow users to write through their viewer (will write a file sparsely or open an new "sparse file") and allow them to write to it. On fsync/flush we stream the bytes and gaps to the upstream (this is costly by allowing the user to control fsync/flush calls we can ensure that they've acknowledged it may be costly instead of doing a sparse upload every write.)