mirror of
https://git.proxmox.com/git/mirror_lxc
synced 2025-08-16 03:35:05 +00:00
conf: don't accidently double-mount
Closes #3073. Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
This commit is contained in:
parent
3c9fdb32fc
commit
f759178580
@ -1847,17 +1847,15 @@ static int mount_entry(const char *fsname, const char *target,
|
||||
}
|
||||
|
||||
if ((mountflags & MS_REMOUNT) || (mountflags & MS_BIND)) {
|
||||
unsigned long rqd_flags = 0;
|
||||
unsigned long required_flags = 0;
|
||||
|
||||
DEBUG("Remounting \"%s\" on \"%s\" to respect bind or remount options",
|
||||
srcpath ? srcpath : "(none)", target ? target : "(none)");
|
||||
|
||||
if (mountflags & MS_RDONLY)
|
||||
rqd_flags |= MS_RDONLY;
|
||||
required_flags |= MS_RDONLY;
|
||||
#ifdef HAVE_STATVFS
|
||||
if (srcpath && statvfs(srcpath, &sb) == 0) {
|
||||
unsigned long required_flags = rqd_flags;
|
||||
|
||||
if (sb.f_flag & MS_NOSUID)
|
||||
required_flags |= MS_NOSUID;
|
||||
|
||||
@ -1878,8 +1876,7 @@ static int mount_entry(const char *fsname, const char *target,
|
||||
* mountflags, then skip the remount.
|
||||
*/
|
||||
if (!(mountflags & MS_REMOUNT)) {
|
||||
if (!(required_flags & ~mountflags) &&
|
||||
rqd_flags == 0) {
|
||||
if (!(required_flags & ~mountflags)) {
|
||||
DEBUG("Mountflags already were %lu, skipping remount", mountflags);
|
||||
goto skipremount;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user