tree-wide: Some more misc libglnx porting
More use of the `glnx_unlinkat()`, `glnx_fstatat()`, and `glnx_renameat()` wrappers. Closes: #1027 Approved by: jlebon
This commit is contained in:
parent
2cf87ba897
commit
acbbda8214
@ -1793,8 +1793,8 @@ import_one_package (RpmOstreeContext *self,
|
|||||||
*/
|
*/
|
||||||
if (!pkg_is_local (pkg))
|
if (!pkg_is_local (pkg))
|
||||||
{
|
{
|
||||||
if (TEMP_FAILURE_RETRY (unlinkat (AT_FDCWD, pkg_path, 0)) < 0)
|
if (!glnx_unlinkat (AT_FDCWD, pkg_path, 0, error))
|
||||||
return glnx_throw_errno_prefix (error, "Deleting %s", pkg_path);
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!rpmostree_unpacker_unpack_to_ostree (unpacker, ostreerepo, sepolicy,
|
if (!rpmostree_unpacker_unpack_to_ostree (unpacker, ostreerepo, sepolicy,
|
||||||
@ -3096,9 +3096,9 @@ rpmostree_context_assemble_tmprootfs (RpmOstreeContext *self,
|
|||||||
|
|
||||||
if (have_systemctl)
|
if (have_systemctl)
|
||||||
{
|
{
|
||||||
if (renameat (tmprootfs_dfd, "usr/bin/systemctl.rpmostreesave",
|
if (!glnx_renameat (tmprootfs_dfd, "usr/bin/systemctl.rpmostreesave",
|
||||||
tmprootfs_dfd, "usr/bin/systemctl") < 0)
|
tmprootfs_dfd, "usr/bin/systemctl", error))
|
||||||
return glnx_throw_errno_prefix (error, "renameat(usr/bin/systemctl)");
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (have_passwd)
|
if (have_passwd)
|
||||||
|
@ -119,8 +119,8 @@ rename_if_exists (int src_dfd,
|
|||||||
/* Handle empty directory in legacy location */
|
/* Handle empty directory in legacy location */
|
||||||
if (errno == EEXIST)
|
if (errno == EEXIST)
|
||||||
{
|
{
|
||||||
if (unlinkat (src_dfd, from, AT_REMOVEDIR) < 0)
|
if (!glnx_unlinkat (src_dfd, from, AT_REMOVEDIR, error))
|
||||||
return glnx_throw_errno_prefix (error, "rmdirat(%s)", from);
|
return FALSE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
return glnx_throw_errno_prefix (error, "renameat(%s)", to);
|
return glnx_throw_errno_prefix (error, "renameat(%s)", to);
|
||||||
@ -466,8 +466,8 @@ convert_var_to_tmpfiles_d_recurse (GOutputStream *tmpfiles_out,
|
|||||||
if (filetype_c == 'd')
|
if (filetype_c == 'd')
|
||||||
{
|
{
|
||||||
struct stat stbuf;
|
struct stat stbuf;
|
||||||
if (TEMP_FAILURE_RETRY (fstatat (dfd_iter.fd, dent->d_name, &stbuf, AT_SYMLINK_NOFOLLOW)) != 0)
|
if (!glnx_fstatat (dfd_iter.fd, dent->d_name, &stbuf, AT_SYMLINK_NOFOLLOW, error))
|
||||||
return glnx_throw_errno_prefix (error, "fstatat");
|
return FALSE;
|
||||||
|
|
||||||
g_string_append_printf (tmpfiles_d_buf, " 0%02o", stbuf.st_mode & ~S_IFMT);
|
g_string_append_printf (tmpfiles_d_buf, " 0%02o", stbuf.st_mode & ~S_IFMT);
|
||||||
g_string_append_printf (tmpfiles_d_buf, " %d %d - -", stbuf.st_uid, stbuf.st_gid);
|
g_string_append_printf (tmpfiles_d_buf, " %d %d - -", stbuf.st_uid, stbuf.st_gid);
|
||||||
@ -618,8 +618,8 @@ workaround_selinux_cross_labeling_recurse (int dfd,
|
|||||||
const char *lastdot;
|
const char *lastdot;
|
||||||
g_autofree char *nonbin_name = NULL;
|
g_autofree char *nonbin_name = NULL;
|
||||||
|
|
||||||
if (TEMP_FAILURE_RETRY (fstatat (dfd_iter.fd, name, &stbuf, AT_SYMLINK_NOFOLLOW)) != 0)
|
if (!glnx_fstatat (dfd_iter.fd, name, &stbuf, AT_SYMLINK_NOFOLLOW, error))
|
||||||
return glnx_throw_errno_prefix (error, "fstat");
|
return FALSE;
|
||||||
|
|
||||||
lastdot = strrchr (name, '.');
|
lastdot = strrchr (name, '.');
|
||||||
g_assert (lastdot);
|
g_assert (lastdot);
|
||||||
@ -1062,8 +1062,8 @@ rpmostree_rootfs_symlink_emptydir_at (int rootfs_fd,
|
|||||||
make_symlink = FALSE;
|
make_symlink = FALSE;
|
||||||
else if (S_ISDIR (stbuf.st_mode))
|
else if (S_ISDIR (stbuf.st_mode))
|
||||||
{
|
{
|
||||||
if (unlinkat (rootfs_fd, src, AT_REMOVEDIR) < 0)
|
if (!glnx_unlinkat (rootfs_fd, src, AT_REMOVEDIR, error))
|
||||||
return glnx_throw_errno_prefix (error, "Removing %s", src);
|
return FALSE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1138,8 +1138,8 @@ cleanup_leftover_files (int rootfs_fd,
|
|||||||
if (!in_files && !has_prefix)
|
if (!in_files && !has_prefix)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (unlinkat (dfd_iter.fd, name, 0) < 0)
|
if (!glnx_unlinkat (dfd_iter.fd, name, 0, error))
|
||||||
return glnx_throw_errno_prefix (error, "Unlinking %s: ", name);
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
@ -1609,8 +1609,8 @@ rpmostree_treefile_postprocessing (int rootfs_fd,
|
|||||||
return glnx_prefix_error (error, "While executing postprocessing script '%s'", bn);
|
return glnx_prefix_error (error, "While executing postprocessing script '%s'", bn);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (unlinkat (rootfs_fd, target_binpath, 0) < 0)
|
if (!glnx_unlinkat (rootfs_fd, target_binpath, 0, error))
|
||||||
return glnx_throw_errno_prefix (error, "unlinkat(%s)", target_binpath);
|
return FALSE;
|
||||||
|
|
||||||
g_print ("Finished postprocessing script '%s'\n", bn);
|
g_print ("Finished postprocessing script '%s'\n", bn);
|
||||||
}
|
}
|
||||||
@ -1779,11 +1779,8 @@ count_filesizes (int dfd,
|
|||||||
{
|
{
|
||||||
struct stat stbuf;
|
struct stat stbuf;
|
||||||
|
|
||||||
if (fstatat (dfd_iter.fd, dent->d_name, &stbuf, AT_SYMLINK_NOFOLLOW) != 0)
|
if (!glnx_fstatat (dfd_iter.fd, dent->d_name, &stbuf, AT_SYMLINK_NOFOLLOW, error))
|
||||||
{
|
return FALSE;
|
||||||
glnx_set_prefix_error_from_errno (error, "%s", "fstatat");
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
(*out_n_bytes) += stbuf.st_size;
|
(*out_n_bytes) += stbuf.st_size;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user