Re: [systemd-devel] [PATCH v2] fstab-generator: Allow mount.usr without mount.usrflags, honor rw/ro

2014-12-08 Thread Lennart Poettering
On Mon, 08.12.14 11:05, Michael Marineau (michael.marin...@coreos.com) wrote:

> There is no need to require mount.usrflags. The original implementation
> assumed that a btrfs subvolume would always be needed but that is not
> applicable to systems that do not use btrfs for /usr.
> 
> Similar to using rootflags= for the default of mount.usrflags=, append
> the classic 'ro' and 'rw' flags to the mount options.

Looks good! Applied!

Lennart

-- 
Lennart Poettering, Red Hat
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


[systemd-devel] [PATCH v2] fstab-generator: Allow mount.usr without mount.usrflags, honor rw/ro

2014-12-08 Thread Michael Marineau
There is no need to require mount.usrflags. The original implementation
assumed that a btrfs subvolume would always be needed but that is not
applicable to systems that do not use btrfs for /usr.

Similar to using rootflags= for the default of mount.usrflags=, append
the classic 'ro' and 'rw' flags to the mount options.
---
 src/fstab-generator/fstab-generator.c | 10 --
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/fstab-generator/fstab-generator.c 
b/src/fstab-generator/fstab-generator.c
index e8a21f7..c8d3ac0 100644
--- a/src/fstab-generator/fstab-generator.c
+++ b/src/fstab-generator/fstab-generator.c
@@ -476,7 +476,7 @@ static int add_usr_mount(void) {
 return log_oom();
 }
 
-if (!arg_usr_what || !arg_usr_options)
+if (!arg_usr_what)
 return 0;
 
 what = fstab_node_to_udev_node(arg_usr_what);
@@ -485,7 +485,13 @@ static int add_usr_mount(void) {
 return -1;
 }
 
-opts = arg_usr_options;
+if (!arg_usr_options)
+opts = arg_root_rw > 0 ? "rw" : "ro";
+else if (!mount_test_option(arg_usr_options, "ro") &&
+ !mount_test_option(arg_usr_options, "rw"))
+opts = strappenda(arg_usr_options, ",", arg_root_rw > 0 ? "rw" 
: "ro");
+else
+opts = arg_usr_options;
 
 log_debug("Found entry what=%s where=/sysroot/usr type=%s", what, 
strna(arg_usr_fstype));
 return add_mount(what,
-- 
2.0.4

___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel