[ostree] core: Drain fdatasync() API into libgsystem
- From: Colin Walters <walters src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [ostree] core: Drain fdatasync() API into libgsystem
- Date: Sat, 5 Jan 2013 00:32:54 +0000 (UTC)
commit 47bd290065e5bb2fb469f4b01b117a6bd422ab0f
Author: Colin Walters <walters verbum org>
Date: Fri Jan 4 17:25:32 2013 -0500
core: Drain fdatasync() API into libgsystem
Just code cleanup.
src/libgsystem | 2 +-
src/libostree/ostree-repo.c | 40 ++++++----------------------------------
src/libotutil/ot-unix-utils.c | 20 --------------------
src/libotutil/ot-unix-utils.h | 2 --
4 files changed, 7 insertions(+), 57 deletions(-)
---
diff --git a/src/libgsystem b/src/libgsystem
index b11ad33..6c736d9 160000
--- a/src/libgsystem
+++ b/src/libgsystem
@@ -1 +1 @@
-Subproject commit b11ad335f459e3c61b317308da57de441660efd0
+Subproject commit 6c736d9309d5ffbc60ed0a58e21f0f8ad609ba10
diff --git a/src/libostree/ostree-repo.c b/src/libostree/ostree-repo.c
index e0c7ab6..ef49636 100644
--- a/src/libostree/ostree-repo.c
+++ b/src/libostree/ostree-repo.c
@@ -742,37 +742,6 @@ ostree_repo_get_archive_content_path (OstreeRepo *self,
return g_file_resolve_relative_path (self->repodir, path);
}
-/**
- * ensure_file_data_synced:
- *
- * Ensure that in case of a power cut, these files have the data we
- * want. See http://lwn.net/Articles/322823/
- */
-static gboolean
-ensure_file_data_synced (GFile *file,
- GCancellable *cancellable,
- GError **error)
-{
- gboolean ret = FALSE;
- int fd = -1;
-
- if (!ot_unix_open_noatime (gs_file_get_path_cached (file), &fd, error))
- goto out;
-
- if (!ot_unix_fdatasync (fd, error))
- goto out;
-
- if (!ot_unix_close (fd, error))
- goto out;
- fd = -1;
-
- ret = TRUE;
- out:
- if (fd != -1)
- (void) close (fd);
- return ret;
-}
-
static gboolean
commit_loose_object_impl (OstreeRepo *self,
GFile *tempfile_path,
@@ -790,7 +759,10 @@ commit_loose_object_impl (OstreeRepo *self,
if (is_regular)
{
- if (!ensure_file_data_synced (tempfile_path, cancellable, error))
+ /* Ensure that in case of a power cut, these files have the data we
+ * want. See http://lwn.net/Articles/322823/
+ */
+ if (!gs_file_sync_data (tempfile_path, cancellable, error))
goto out;
}
@@ -3159,7 +3131,7 @@ checkout_file_from_input (GFile *file,
if (g_file_info_get_file_type (temp_info) == G_FILE_TYPE_REGULAR)
{
- if (!ensure_file_data_synced (temp_file, cancellable, error))
+ if (!gs_file_sync_data (temp_file, cancellable, error))
goto out;
}
@@ -3178,7 +3150,7 @@ checkout_file_from_input (GFile *file,
if (g_file_info_get_file_type (temp_info) == G_FILE_TYPE_REGULAR)
{
- if (!ensure_file_data_synced (file, cancellable, error))
+ if (!gs_file_sync_data (file, cancellable, error))
goto out;
}
}
diff --git a/src/libotutil/ot-unix-utils.c b/src/libotutil/ot-unix-utils.c
index 3b0645f..d479301 100644
--- a/src/libotutil/ot-unix-utils.c
+++ b/src/libotutil/ot-unix-utils.c
@@ -191,26 +191,6 @@ ot_util_fatal_gerror (GError *error)
}
/**
- * ot_unix_fdatasync:
- *
- * Like fdatasync(), but uses #GError, and handles EINTR.
- */
-gboolean
-ot_unix_fdatasync (int fd, GError **error)
-{
- int result;
- do
- result = fdatasync (fd);
- while (G_UNLIKELY (result != 0 && errno == EINTR));
- if (result != 0)
- {
- ot_util_set_error_from_errno (error, errno);
- return FALSE;
- }
- return TRUE;
-}
-
-/**
* ot_unix_close:
*
* Like close(), but uses #GError, and handles EINTR.
diff --git a/src/libotutil/ot-unix-utils.h b/src/libotutil/ot-unix-utils.h
index 18f0749..9a8c3ac 100644
--- a/src/libotutil/ot-unix-utils.h
+++ b/src/libotutil/ot-unix-utils.h
@@ -55,8 +55,6 @@ gboolean ot_unix_open (const char *path,
int *out_fd,
GError **error);
-gboolean ot_unix_fdatasync (int fd, GError **error);
-
gboolean ot_unix_close (int fd, GError **error);
gboolean ot_unix_open_noatime (const char *path, int *out_fd, GError **error);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]