core: Call fdatasync() before we rename()

Just noticed this from strace, doesn't really matter, but looks nicer.
This commit is contained in:
Colin Walters 2012-10-14 15:34:33 -04:00
parent b0b409f82e
commit 2b90e987bf
1 changed files with 11 additions and 5 deletions

View File

@ -3171,6 +3171,12 @@ checkout_file_from_input (GFile *file,
cancellable, error)) cancellable, error))
goto out; goto out;
if (g_file_info_get_file_type (temp_info) == G_FILE_TYPE_REGULAR)
{
if (!ensure_file_data_synced (temp_file, cancellable, error))
goto out;
}
if (rename (ot_gfile_get_path_cached (temp_file), ot_gfile_get_path_cached (file)) < 0) if (rename (ot_gfile_get_path_cached (temp_file), ot_gfile_get_path_cached (file)) < 0)
{ {
ot_util_set_error_from_errno (error, errno); ot_util_set_error_from_errno (error, errno);
@ -3183,12 +3189,12 @@ checkout_file_from_input (GFile *file,
if (!ostree_create_file_from_input (file, temp_info, if (!ostree_create_file_from_input (file, temp_info,
xattrs, input, cancellable, error)) xattrs, input, cancellable, error))
goto out; goto out;
}
if (g_file_info_get_file_type (temp_info) == G_FILE_TYPE_REGULAR) if (g_file_info_get_file_type (temp_info) == G_FILE_TYPE_REGULAR)
{ {
if (!ensure_file_data_synced (file, cancellable, error)) if (!ensure_file_data_synced (temp_file, cancellable, error))
goto out; goto out;
}
} }
ret = TRUE; ret = TRUE;