[ostree] core: Reuse more libgsystem API in utils



commit cd5fce713ca4056d8e1ef72004ca3c0035b7ad0c
Author: Colin Walters <walters verbum org>
Date:   Fri Jan 4 19:46:02 2013 -0500

    core: Reuse more libgsystem API in utils
    
    More code drain to libgsystem.

 src/libgsystem                   |    2 +-
 src/libotutil/ot-unix-utils.c    |   46 --------------------------------------
 src/libotutil/ot-unix-utils.h    |    2 -
 src/libotutil/ot-variant-utils.c |    9 +------
 4 files changed, 2 insertions(+), 57 deletions(-)
---
diff --git a/src/libgsystem b/src/libgsystem
index ce441a7..a251961 160000
--- a/src/libgsystem
+++ b/src/libgsystem
@@ -1 +1 @@
-Subproject commit ce441a7a7bd987265588674a11d62965e81bdf94
+Subproject commit a2519612547354033f0d513a174f336896776fa8
diff --git a/src/libotutil/ot-unix-utils.c b/src/libotutil/ot-unix-utils.c
index d479301..032b497 100644
--- a/src/libotutil/ot-unix-utils.c
+++ b/src/libotutil/ot-unix-utils.c
@@ -189,49 +189,3 @@ ot_util_fatal_gerror (GError *error)
   g_assert (error != NULL);
   ot_util_fatal_literal (error->message);
 }
-
-/**
- * ot_unix_close:
- *
- * Like close(), but uses #GError, and handles EINTR.
- */
-gboolean
-ot_unix_close (int fd, GError **error)
-{
-  int result;
-  do
-    result = close (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_open_noatime:
- *
- * Open a file for reading, using O_NOATIME if possible.
- */
-gboolean
-ot_unix_open_noatime (const char    *path,
-                      int           *out_fd,
-                      GError       **error)
-{
-  int fd;
-
-#ifdef O_NOATIME
-  fd = g_open (path, O_RDONLY | O_NOATIME | O_CLOEXEC, 0);
-  if (fd == -1 && errno == EPERM)
-#endif
-    fd = g_open (path, O_RDONLY | O_CLOEXEC, 0);
-  if (fd == -1)
-    {
-      ot_util_set_error_from_errno (error, errno);
-      return FALSE;
-    }
-  *out_fd = fd;
-  return TRUE;
-}
diff --git a/src/libotutil/ot-unix-utils.h b/src/libotutil/ot-unix-utils.h
index 9a8c3ac..e0546a3 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_close (int fd, GError **error);
-
 gboolean ot_unix_open_noatime (const char *path, int *out_fd, GError **error);
 
 G_END_DECLS
diff --git a/src/libotutil/ot-variant-utils.c b/src/libotutil/ot-variant-utils.c
index caa39ea..31d01b5 100644
--- a/src/libotutil/ot-variant-utils.c
+++ b/src/libotutil/ot-variant-utils.c
@@ -109,19 +109,12 @@ ot_util_variant_map (GFile              *src,
                      GError            **error)
 {
   gboolean ret = FALSE;
-  const char *path = NULL;
   ot_lvariant GVariant *ret_variant = NULL;
   GMappedFile *mfile = NULL;
-  int fd;
 
-  path = gs_file_get_path_cached (src);
-  if (!ot_unix_open_noatime (path, &fd, error))
-    goto out;
-  mfile = g_mapped_file_new_from_fd (fd, FALSE, error);
+  mfile = gs_file_map_noatime (src, NULL, error);
   if (!mfile)
     goto out;
-  if (!ot_unix_close (fd, error))
-    goto out;
 
   ret_variant = g_variant_new_from_data (type,
                                          g_mapped_file_get_contents (mfile),



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]