aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/nvim/fileio.c4
-rw-r--r--src/nvim/os/fileio.c5
2 files changed, 7 insertions, 2 deletions
diff --git a/src/nvim/fileio.c b/src/nvim/fileio.c
index 6356290b9c..ba3625bf95 100644
--- a/src/nvim/fileio.c
+++ b/src/nvim/fileio.c
@@ -3405,7 +3405,9 @@ restore_backup:
// (could be a pipe).
// If the 'fsync' option is FALSE, don't fsync(). Useful for laptops.
int error;
- if (p_fs && (error = os_fsync(fd)) != 0 && !device) {
+ if (p_fs && (error = os_fsync(fd)) != 0 && !device
+ // fsync not supported on this storage.
+ && error != UV_ENOTSUP) {
SET_ERRMSG_ARG(_("E667: Fsync failed: %s"), error);
end = 0;
}
diff --git a/src/nvim/os/fileio.c b/src/nvim/os/fileio.c
index ccf35fd57c..bb68326a03 100644
--- a/src/nvim/os/fileio.c
+++ b/src/nvim/os/fileio.c
@@ -229,7 +229,10 @@ int file_fsync(FileDescriptor *const fp)
return flush_error;
}
const int fsync_error = os_fsync(fp->fd);
- if (fsync_error != UV_EINVAL && fsync_error != UV_EROFS) {
+ if (fsync_error != UV_EINVAL
+ && fsync_error != UV_EROFS
+ // fsync not supported on this storage.
+ && fsync_error != UV_ENOTSUP) {
return fsync_error;
}
return 0;