]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
mount-util: add umount_and_free() helper
authorLennart Poettering <lennart@poettering.net>
Thu, 20 Apr 2023 16:45:09 +0000 (18:45 +0200)
committerLennart Poettering <lennart@poettering.net>
Tue, 16 May 2023 07:24:45 +0000 (09:24 +0200)
src/shared/mount-util.h

index d63fddeb10e20db541d83980307c381c0e1a51bc..8a84d6162205ede43044d3e8000b3cf131caa297 100644 (file)
@@ -83,6 +83,14 @@ static inline char* umount_and_rmdir_and_free(char *p) {
 }
 DEFINE_TRIVIAL_CLEANUP_FUNC(char*, umount_and_rmdir_and_free);
 
+static inline char *umount_and_free(char *p) {
+        PROTECT_ERRNO;
+        if (p)
+                (void) umount_recursive(p, 0);
+        return mfree(p);
+}
+DEFINE_TRIVIAL_CLEANUP_FUNC(char*, umount_and_free);
+
 int bind_mount_in_namespace(pid_t target, const char *propagate_path, const char *incoming_path, const char *src, const char *dest, bool read_only, bool make_file_or_directory);
 int mount_image_in_namespace(pid_t target, const char *propagate_path, const char *incoming_path, const char *src, const char *dest, bool read_only, bool make_file_or_directory, const MountOptions *options, const ImagePolicy *image_policy);