]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
mount-util: make path_get_mount_info_at() also read utab
authorYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 24 Jan 2025 17:35:21 +0000 (02:35 +0900)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Mon, 27 Jan 2025 18:04:50 +0000 (19:04 +0100)
As "_netdev" is only stored in utab.

Fixes a bug introduced by 5261c521e3a98932241f36e91cf6f7823c578aca.
Fixes #35949.

(cherry picked from commit 22f980dd0b04e65dbdc2fca9c653119459a2c52f)

src/shared/mount-util.c

index 576f7e83aa192ab7865fe0316734e6d7427c99ae..35b10495312b2042f91bc1c069cc942b637fe613 100644 (file)
@@ -1824,7 +1824,9 @@ static int path_get_mount_info_at(
         if (r < 0)
                 return log_debug_errno(r, "Failed to get mount ID: %m");
 
-        r = libmount_parse("/proc/self/mountinfo", NULL, &table, &iter);
+        /* When getting options is requested, do not pass filename, otherwise utab will not read, and
+         * userspace options like "_netdev" will be lost. */
+        r = libmount_parse(ret_options ? NULL : "/proc/self/mountinfo", /* source = */ NULL, &table, &iter);
         if (r < 0)
                 return log_debug_errno(r, "Failed to parse /proc/self/mountinfo: %m");