mirror of
https://github.com/systemd/systemd.git
synced 2025-03-31 14:50:15 +03:00
util: don't fail recursive bind mounting if we cannot read the mount flags from an obstructed mounted
This commit is contained in:
parent
2339fc936a
commit
a7e0720602
@ -6980,10 +6980,10 @@ int bind_remount_recursive(const char *prefix, bool ro) {
|
||||
if (mount(cleaned, cleaned, NULL, MS_BIND|MS_REC, NULL) < 0)
|
||||
return -errno;
|
||||
|
||||
r = get_mount_flags(prefix, &orig_flags);
|
||||
if (r < 0)
|
||||
return r;
|
||||
orig_flags = 0;
|
||||
(void) get_mount_flags(cleaned, &orig_flags);
|
||||
orig_flags &= ~MS_RDONLY;
|
||||
|
||||
if (mount(NULL, prefix, NULL, orig_flags|MS_BIND|MS_REMOUNT|(ro ? MS_RDONLY : 0), NULL) < 0)
|
||||
return -errno;
|
||||
|
||||
@ -7004,10 +7004,13 @@ int bind_remount_recursive(const char *prefix, bool ro) {
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
r = get_mount_flags(x, &orig_flags);
|
||||
if (r < 0)
|
||||
return r;
|
||||
/* Try to reuse the original flag set, but
|
||||
* don't care for errors, in case of
|
||||
* obstructed mounts */
|
||||
orig_flags = 0;
|
||||
(void) get_mount_flags(x, &orig_flags);
|
||||
orig_flags &= ~MS_RDONLY;
|
||||
|
||||
if (mount(NULL, x, NULL, orig_flags|MS_BIND|MS_REMOUNT|(ro ? MS_RDONLY : 0), NULL) < 0) {
|
||||
|
||||
/* Deal with mount points that are
|
||||
|
Loading…
x
Reference in New Issue
Block a user