When an error occurs, we want to prevent overwriting any previous version of the file by incomplete contents. So run g_output_stream_close() with a cancelled GCancellable to do so. See also discussion in #2565.