Public bug reported:
SRU Justification
Impact: Currently it is not possible to use overlayfs on top of shiftfs.
This means Docker inside of LXD cannot make user of the overlay2 graph
driver which is blocking users such as Travis from making use of it
efficiently.
Regression Potential: Limited to shiftfs and overlayfs on top of
shiftfs. Overlayfs does prevent "remote" filesystems such as ceph, nfs,
etc. from being used as the underlay. With this patch shiftfs however
can be used as an underlay and we special case it as a suitable
filesystem to be used under overlayfs. I verified that the patch does
not lead to regression on overlayfs workloads that do not make use of
shiftfs as underlay. Additionally, I tested Docker with the overlay2
graphdriver on top of shiftfs. This also has not lead to any
regressions.
Test case: Building a kernel with the patch:
sudo snap install lxd
sudo lxd init
sudo lxc launch images:ubuntu/bionic b1
sudo lxc config set b1 security.nesting true
sudo lxc restart --force b1
sudo lxc shell b1
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
curl -fsSL get.docker.com | CHANNEL=test sh
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
sudo systemctl stop docker
cat <<EOF /etc/docker/daemon.json
{
"storage-driver": "overlay2"
}
EOF
sudo systemctl start docker
docker run -it ubuntu bash
and observe that it works.
The old approach we used in
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1838677 caused a
regression. The reproducer for this regression appended in
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1842382/comments/45
did show that the regression cannot be reproduced with the new patch.
Target kernels: All LTS kernels that do support shiftfs, if possible.
** Affects: linux (Ubuntu)
Importance: Undecided
Assignee: Christian Brauner (cbrauner)
Status: In Progress
** Changed in: linux (Ubuntu)
Assignee: (unassigned) => Christian Brauner (cbrauner)
** Changed in: linux (Ubuntu)
Status: New => In Progress
--
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1846272
Title:
overlayfs: allow with shiftfs as underlay
Status in linux package in Ubuntu:
In Progress
Bug description:
SRU Justification
Impact: Currently it is not possible to use overlayfs on top of
shiftfs. This means Docker inside of LXD cannot make user of the
overlay2 graph driver which is blocking users such as Travis from
making use of it efficiently.
Regression Potential: Limited to shiftfs and overlayfs on top of
shiftfs. Overlayfs does prevent "remote" filesystems such as ceph,
nfs, etc. from being used as the underlay. With this patch shiftfs
however can be used as an underlay and we special case it as a
suitable filesystem to be used under overlayfs. I verified that the
patch does not lead to regression on overlayfs workloads that do not
make use of shiftfs as underlay. Additionally, I tested Docker with
the overlay2 graphdriver on top of shiftfs. This also has not lead to
any regressions.
Test case: Building a kernel with the patch:
sudo snap install lxd
sudo lxd init
sudo lxc launch images:ubuntu/bionic b1
sudo lxc config set b1 security.nesting true
sudo lxc restart --force b1
sudo lxc shell b1
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
curl -fsSL get.docker.com | CHANNEL=test sh
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
sudo systemctl stop docker
cat <<EOF /etc/docker/daemon.json
{
"storage-driver": "overlay2"
}
EOF
sudo systemctl start docker
docker run -it ubuntu bash
and observe that it works.
The old approach we used in
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1838677 caused a
regression. The reproducer for this regression appended in
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1842382/comments/45
did show that the regression cannot be reproduced with the new patch.
Target kernels: All LTS kernels that do support shiftfs, if possible.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1846272/+subscriptions
--
Mailing list: https://launchpad.net/~kernel-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help : https://help.launchpad.net/ListHelp