diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2016-12-13 22:30:07 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-12-13 22:30:07 -0500 |
commit | 9cf314f34d9ca26bb8867effdf54fc2c78b06f31 (patch) | |
tree | 62f00b1788b78f3ab19c5b14a5f98fc530c1bc18 /src/basic | |
parent | 9ef4e1e5a2d0a9cc50406f1cae05f3918d6f0c2a (diff) | |
parent | f59d1da8cd15d42b36fa5bab756cf4d144785e2b (diff) |
Merge pull request #4727 from poettering/exec-bind
More namespace improvements
Diffstat (limited to 'src/basic')
-rw-r--r-- | src/basic/mount-util.c | 32 | ||||
-rw-r--r-- | src/basic/mount-util.h | 3 |
2 files changed, 35 insertions, 0 deletions
diff --git a/src/basic/mount-util.c b/src/basic/mount-util.c index 352c3505fb..8970050408 100644 --- a/src/basic/mount-util.c +++ b/src/basic/mount-util.c @@ -689,3 +689,35 @@ int umount_verbose(const char *what) { return log_error_errno(errno, "Failed to unmount %s: %m", what); return 0; } + +const char *mount_propagation_flags_to_string(unsigned long flags) { + + switch (flags & (MS_SHARED|MS_SLAVE|MS_PRIVATE)) { + + case MS_SHARED: + return "shared"; + + case MS_SLAVE: + return "slave"; + + case MS_PRIVATE: + return "private"; + } + + return NULL; +} + +unsigned long mount_propagation_flags_from_string(const char *name) { + + if (isempty(name)) + return 0; + + if (streq(name, "shared")) + return MS_SHARED; + if (streq(name, "slave")) + return MS_SLAVE; + if (streq(name, "private")) + return MS_PRIVATE; + + return 0; +} diff --git a/src/basic/mount-util.h b/src/basic/mount-util.h index b840956d63..c8049198d4 100644 --- a/src/basic/mount-util.h +++ b/src/basic/mount-util.h @@ -61,3 +61,6 @@ int mount_verbose( unsigned long flags, const char *options); int umount_verbose(const char *where); + +const char *mount_propagation_flags_to_string(unsigned long flags); +unsigned long mount_propagation_flags_from_string(const char *name); |