]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
fs-util: Drop unlink_noerrno()
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Wed, 15 Mar 2023 10:55:44 +0000 (11:55 +0100)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Wed, 15 Mar 2023 12:27:20 +0000 (13:27 +0100)
src/basic/fs-util.c
src/basic/fs-util.h
src/basic/lock-util.c
src/boot/bootctl-install.c
src/home/homed-manager.c
src/test/test-fs-util.c

index a895f4f2df2eb3c851d90704b6afab8acc4d6d8b..deab6e525dc8495571d5746f2a8238ebf8e36831 100644 (file)
 #include "umask-util.h"
 #include "user-util.h"
 
-int unlink_noerrno(const char *path) {
-        PROTECT_ERRNO;
-        return RET_NERRNO(unlink(path));
-}
-
 int rmdir_parents(const char *path, const char *stop) {
         char *p;
         int r;
@@ -674,7 +669,7 @@ void unlink_tempfilep(char (*p)[]) {
          * successfully created. We ignore both the rare case where the
          * original suffix is used and unlink failures. */
         if (!endswith(*p, ".XXXXXX"))
-                (void) unlink_noerrno(*p);
+                (void) unlink(*p);
 }
 
 int unlinkat_deallocate(int fd, const char *name, UnlinkDeallocateFlags flags) {
index 932d003f199356a7038d7087feac8d8031ae3d3b..dad8f35239094e129ea5ad6127186d39a1cb3845 100644 (file)
@@ -22,8 +22,6 @@
 #define PTR_TO_MODE(p) ((mode_t) ((uintptr_t) (p)-1))
 #define MODE_TO_PTR(u) ((void *) ((uintptr_t) (u)+1))
 
-int unlink_noerrno(const char *path);
-
 int rmdir_parents(const char *path, const char *stop);
 
 int rename_noreplace(int olddirfd, const char *oldpath, int newdirfd, const char *newpath);
@@ -99,7 +97,7 @@ static inline char* unlink_and_free(char *p) {
         if (!p)
                 return NULL;
 
-        (void) unlink_noerrno(p);
+        (void) unlink(p);
         return mfree(p);
 }
 DEFINE_TRIVIAL_CLEANUP_FUNC(char*, unlink_and_free);
index c7a7b68ebcf2919b2fccd6cdcfe399cda2690587..13e4c12237a42d0adc43456a777dc092be13b727 100644 (file)
@@ -100,7 +100,7 @@ void release_lock_file(LockFile *f) {
                         f->operation = LOCK_EX|LOCK_NB;
 
                 if ((f->operation & ~LOCK_NB) == LOCK_EX)
-                        unlink_noerrno(f->path);
+                        (void) unlink(f->path);
 
                 f->path = mfree(f->path);
         }
index 624b88abe372dd46bb9cc82078781916cec8ce55..9fee309328612cd7cc6f56e6cd89c4338c7703d2 100644 (file)
@@ -262,13 +262,14 @@ static int copy_file_with_version_check(const char *from, const char *to, bool f
 
         r = fsync_full(fd_to);
         if (r < 0) {
-                (void) unlink_noerrno(t);
+                (void) unlink(t);
                 return log_error_errno(r, "Failed to copy data from \"%s\" to \"%s\": %m", from, t);
         }
 
-        if (renameat(AT_FDCWD, t, AT_FDCWD, to) < 0) {
-                (void) unlink_noerrno(t);
-                return log_error_errno(errno, "Failed to rename \"%s\" to \"%s\": %m", t, to);
+        r = RET_NERRNO(renameat(AT_FDCWD, t, AT_FDCWD, to));
+        if (r < 0) {
+                (void) unlink(t);
+                return log_error_errno(r, "Failed to rename \"%s\" to \"%s\": %m", t, to);
         }
 
         log_info("Copied \"%s\" to \"%s\".", from, to);
index 84b5618671ca5ec3fce32f40fda845e32c6ed50a..258d2b16ed0dd46dcf62dbe153f427ccdc2a9e2d 100644 (file)
@@ -1456,9 +1456,10 @@ static int manager_generate_key_pair(Manager *m) {
                 return log_error_errno(errno, "Failed to move public key file into place: %m");
         temp_public = mfree(temp_public);
 
-        if (rename(temp_private, "/var/lib/systemd/home/local.private") < 0) {
-                (void) unlink_noerrno("/var/lib/systemd/home/local.public"); /* try to remove the file we already created */
-                return log_error_errno(errno, "Failed to move private key file into place: %m");
+        r = RET_NERRNO(rename(temp_private, "/var/lib/systemd/home/local.private"));
+        if (r < 0) {
+                (void) unlink("/var/lib/systemd/home/local.public"); /* try to remove the file we already created */
+                return log_error_errno(r, "Failed to move private key file into place: %m");
         }
         temp_private = mfree(temp_private);
 
index c009424a2bcc48dd54893284ea1327033f10d62f..98417c9d3249918020f0ec5de1d9b34040bb6d43 100644 (file)
@@ -508,25 +508,6 @@ TEST(chase_symlinks_at) {
         fd = safe_close(fd);
 }
 
-TEST(unlink_noerrno) {
-        char *name;
-        int fd;
-
-        name = strjoina(arg_test_dir ?: "/tmp", "/test-close_nointr.XXXXXX");
-        fd = mkostemp_safe(name);
-        assert_se(fd >= 0);
-        assert_se(close_nointr(fd) >= 0);
-
-        {
-                PROTECT_ERRNO;
-                errno = 42;
-                assert_se(unlink_noerrno(name) >= 0);
-                assert_se(errno == 42);
-                assert_se(unlink_noerrno(name) < 0);
-                assert_se(errno == 42);
-        }
-}
-
 TEST(readlink_and_make_absolute) {
         const char *tempdir, *name, *name2, *name_alias;
         _cleanup_free_ char *r1 = NULL, *r2 = NULL, *pwd = NULL;