libglnx porting: Use glnx_opendirat()

This unfortunately adds *more* `gs_file_get_path_cached()`, but we'll
fix that all in one go.
This commit is contained in:
Colin Walters 2016-03-18 17:17:54 -04:00
parent 18530894c7
commit 0b1d301d81
4 changed files with 20 additions and 16 deletions

View File

@ -655,9 +655,8 @@ checkout_tree_at (OstreeRepo *self,
} }
} }
if (!gs_file_open_dir_fd_at (destination_parent_fd, destination_name, if (!glnx_opendirat (destination_parent_fd, destination_name, TRUE,
&destination_dfd, &destination_dfd, error))
cancellable, error))
goto out; goto out;
/* Set the xattrs now, so any derived labeling works */ /* Set the xattrs now, so any derived labeling works */

View File

@ -2271,14 +2271,15 @@ ostree_repo_open (OstreeRepo *self,
goto out; goto out;
g_strdelimit (self->boot_id, "\n", '\0'); g_strdelimit (self->boot_id, "\n", '\0');
if (!gs_file_open_dir_fd (self->repodir, &self->repo_dir_fd, cancellable, error)) if (!glnx_opendirat (AT_FDCWD, gs_file_get_path_cached (self->repodir), TRUE,
&self->repo_dir_fd, error))
{ {
g_prefix_error (error, "%s: ", gs_file_get_path_cached (self->repodir)); g_prefix_error (error, "%s: ", gs_file_get_path_cached (self->repodir));
goto out; goto out;
} }
if (!gs_file_open_dir_fd_at (self->repo_dir_fd, "objects", if (!glnx_opendirat (self->repo_dir_fd, "objects", TRUE,
&self->objects_dir_fd, cancellable, error)) &self->objects_dir_fd, error))
{ {
g_prefix_error (error, "Opening objects/ directory: "); g_prefix_error (error, "Opening objects/ directory: ");
goto out; goto out;
@ -2387,16 +2388,16 @@ ostree_repo_open (OstreeRepo *self,
goto out; goto out;
} }
if (!gs_file_open_dir_fd (self->tmp_dir, &self->tmp_dir_fd, cancellable, error)) if (!glnx_opendirat (self->repo_dir_fd, "tmp", TRUE, &self->tmp_dir_fd, error))
goto out; goto out;
if (self->mode == OSTREE_REPO_MODE_ARCHIVE_Z2 && self->enable_uncompressed_cache) if (self->mode == OSTREE_REPO_MODE_ARCHIVE_Z2 && self->enable_uncompressed_cache)
{ {
if (!gs_file_ensure_directory (self->uncompressed_objects_dir, TRUE, cancellable, error)) if (!gs_file_ensure_directory (self->uncompressed_objects_dir, TRUE, cancellable, error))
goto out; goto out;
if (!gs_file_open_dir_fd (self->uncompressed_objects_dir, if (!glnx_opendirat (self->repo_dir_fd, "uncompressed-objects-cache", TRUE,
&self->uncompressed_objects_dir_fd, &self->uncompressed_objects_dir_fd,
cancellable, error)) error))
goto out; goto out;
} }

View File

@ -456,11 +456,14 @@ merge_etc_changes (GFile *orig_etc,
removed->len, removed->len,
added->len); added->len);
if (!gs_file_open_dir_fd (orig_etc, &orig_etc_fd, cancellable, error)) if (!glnx_opendirat (AT_FDCWD, gs_file_get_path_cached (orig_etc), TRUE,
&orig_etc_fd, error))
goto out; goto out;
if (!gs_file_open_dir_fd (modified_etc, &modified_etc_fd, cancellable, error)) if (!glnx_opendirat (AT_FDCWD, gs_file_get_path_cached (modified_etc), TRUE,
&modified_etc_fd, error))
goto out; goto out;
if (!gs_file_open_dir_fd (new_etc, &new_etc_fd, cancellable, error)) if (!glnx_opendirat (AT_FDCWD, gs_file_get_path_cached (new_etc), TRUE,
&new_etc_fd, error))
goto out; goto out;
for (i = 0; i < removed->len; i++) for (i = 0; i < removed->len; i++)

View File

@ -362,8 +362,8 @@ ot_gfile_replace_contents_fsync (GFile *path,
parent = g_file_get_parent (path); parent = g_file_get_parent (path);
if (!gs_file_open_dir_fd (parent, &parent_dfd, if (!glnx_opendirat (AT_FDCWD, gs_file_get_path_cached (parent), TRUE,
cancellable, error)) &parent_dfd, error))
goto out; goto out;
if (!ot_file_replace_contents_at (parent_dfd, target_basename, if (!ot_file_replace_contents_at (parent_dfd, target_basename,
@ -426,7 +426,8 @@ ot_util_fsync_directory (GFile *dir,
gboolean ret = FALSE; gboolean ret = FALSE;
int dfd = -1; int dfd = -1;
if (!gs_file_open_dir_fd (dir, &dfd, cancellable, error)) if (!glnx_opendirat (AT_FDCWD, gs_file_get_path_cached (dir), TRUE,
&dfd, error))
goto out; goto out;
if (fsync (dfd) != 0) if (fsync (dfd) != 0)