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.

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 => Confirmed

** Changed in: linux (Ubuntu)
       Status: Confirmed => 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/1838677

Title:
  shiftfs: allow overlayfs

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.

  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/1838677/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to