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,
&destination_dfd,
cancellable, error))
if (!glnx_opendirat (destination_parent_fd, destination_name, TRUE,
&destination_dfd, error))
goto out;
/* Set the xattrs now, so any derived labeling works */

View File

@ -2271,14 +2271,15 @@ ostree_repo_open (OstreeRepo *self,
goto out;
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));
goto out;
}
if (!gs_file_open_dir_fd_at (self->repo_dir_fd, "objects",
&self->objects_dir_fd, cancellable, error))
if (!glnx_opendirat (self->repo_dir_fd, "objects", TRUE,
&self->objects_dir_fd, error))
{
g_prefix_error (error, "Opening objects/ directory: ");
goto out;
@ -2387,16 +2388,16 @@ ostree_repo_open (OstreeRepo *self,
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;
if (self->mode == OSTREE_REPO_MODE_ARCHIVE_Z2 && self->enable_uncompressed_cache)
{
if (!gs_file_ensure_directory (self->uncompressed_objects_dir, TRUE, cancellable, error))
goto out;
if (!gs_file_open_dir_fd (self->uncompressed_objects_dir,
&self->uncompressed_objects_dir_fd,
cancellable, error))
if (!glnx_opendirat (self->repo_dir_fd, "uncompressed-objects-cache", TRUE,
&self->uncompressed_objects_dir_fd,
error))
goto out;
}

View File

@ -456,11 +456,14 @@ merge_etc_changes (GFile *orig_etc,
removed->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;
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;
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;
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);
if (!gs_file_open_dir_fd (parent, &parent_dfd,
cancellable, error))
if (!glnx_opendirat (AT_FDCWD, gs_file_get_path_cached (parent), TRUE,
&parent_dfd, error))
goto out;
if (!ot_file_replace_contents_at (parent_dfd, target_basename,
@ -426,7 +426,8 @@ ot_util_fsync_directory (GFile *dir,
gboolean ret = FALSE;
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;
if (fsync (dfd) != 0)