]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
fstab-generator: drop unapplicable options for /usr/ too 31048/head
authorMike Yuan <me@yhndnzj.com>
Mon, 22 Jan 2024 16:00:46 +0000 (00:00 +0800)
committerMike Yuan <me@yhndnzj.com>
Thu, 25 Jan 2024 17:06:41 +0000 (01:06 +0800)
We already drop these for /sysroot/usr/ in parse_fstab
(1e9b2e4fdd8d04e3fbfadbc0b92dc138c819c221). Let's make
things consistent, and do the same for /usr/ too (after
switch-root).

src/fstab-generator/fstab-generator.c
test/units/testsuite-81.fstab-generator.sh

index c7ac71bb232ed13d332b7b540fdaeb92b6356907..3a1d2f38dbb173ad56c3ae5702563b83b8713abb 100644 (file)
@@ -565,16 +565,16 @@ static int add_mount(
         if (r < 0)
                 return r;
 
-        if (path_equal(where, "/")) {
+        if (PATH_IN_SET(where, "/", "/usr")) {
                 r = mandatory_mount_drop_unapplicable_options(&flags, where, opts, &opts_root_filtered);
                 if (r < 0)
                         return r;
                 opts = opts_root_filtered;
 
                 if (!strv_isempty(wanted_by))
-                        log_debug("Ignoring 'x-systemd.wanted-by=' option for root device.");
+                        log_debug("Ignoring 'x-systemd.wanted-by=' option for root/usr device.");
                 if (!strv_isempty(required_by))
-                        log_debug("Ignoring 'x-systemd.required-by=' option for root device.");
+                        log_debug("Ignoring 'x-systemd.required-by=' option for root/usr device.");
 
                 required_by = strv_free(required_by);
                 wanted_by = strv_free(wanted_by);
index 50c4b2f47d4a836b55c773e81c209b7a76a254c0..4a69245ed878c2dcc31dd7ad390bdd09a7d2c726 100755 (executable)
@@ -148,7 +148,7 @@ check_fstab_mount_units() {
         fi
         if [[ -n "$opts" ]] && [[ "$opts" != defaults ]]; then
             # Some options are not propagated to the generated unit
-            if [[ "$where" == / ]]; then
+            if [[ "$where" == / || "$where" == /usr ]]; then
                 filtered_options="$(opt_filter "$opts" "(noauto|nofail|x-systemd.(wanted-by=|required-by=|automount|device-timeout=))")"
             else
                 filtered_options="$(opt_filter "$opts" "^x-systemd.device-timeout=")"