mirror of
https://git.proxmox.com/git/mirror_lxc
synced 2025-08-16 09:01:09 +00:00
no rootfs => mounts are always relative to hosts /
All lxc.mount.entry entries will be relative to the hosts / when a container does not specify a lxc.rootfs. Signed-off-by: Christian Brauner <christian.brauner@mailbox.org>
This commit is contained in:
parent
e855f21476
commit
1433c9f9b6
@ -1807,7 +1807,22 @@ static inline int mount_entry_on_generic(struct mntent *mntent,
|
|||||||
|
|
||||||
static inline int mount_entry_on_systemfs(struct mntent *mntent)
|
static inline int mount_entry_on_systemfs(struct mntent *mntent)
|
||||||
{
|
{
|
||||||
return mount_entry_on_generic(mntent, mntent->mnt_dir, NULL, NULL, NULL);
|
char path[MAXPATHLEN];
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
/* For containers created without a rootfs all mounts are treated as
|
||||||
|
* absolute paths starting at / on the host. */
|
||||||
|
if (mntent->mnt_dir[0] != '/')
|
||||||
|
ret = snprintf(path, sizeof(path), "/%s", mntent->mnt_dir);
|
||||||
|
else
|
||||||
|
ret = snprintf(path, sizeof(path), "%s", mntent->mnt_dir);
|
||||||
|
|
||||||
|
if (ret < 0 || ret >= sizeof(path)) {
|
||||||
|
ERROR("path name too long");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return mount_entry_on_generic(mntent, path, NULL, NULL, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int mount_entry_on_absolute_rootfs(struct mntent *mntent,
|
static int mount_entry_on_absolute_rootfs(struct mntent *mntent,
|
||||||
@ -1868,7 +1883,7 @@ static int mount_entry_on_relative_rootfs(struct mntent *mntent,
|
|||||||
|
|
||||||
/* relative to root mount point */
|
/* relative to root mount point */
|
||||||
ret = snprintf(path, sizeof(path), "%s/%s", rootfs->mount, mntent->mnt_dir);
|
ret = snprintf(path, sizeof(path), "%s/%s", rootfs->mount, mntent->mnt_dir);
|
||||||
if (ret >= sizeof(path)) {
|
if (ret < 0 || ret >= sizeof(path)) {
|
||||||
ERROR("path name too long");
|
ERROR("path name too long");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user