Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[rootless] kernel 5.13rc6: not using native diff for overlay #947

Closed
tobwen opened this issue Jun 21, 2021 · 2 comments · Fixed by #948
Closed

[rootless] kernel 5.13rc6: not using native diff for overlay #947

tobwen opened this issue Jun 21, 2021 · 2 comments · Fixed by #948

Comments

@tobwen
Copy link

tobwen commented Jun 21, 2021

Is this a BUG REPORT or FEATURE REQUEST? (leave only one on its own line)

/kind bug

Description
Podman throws an error about kernel lower than 4.8 would not using native diff for overlay, but I'm on a newer kernel.

Steps to reproduce the issue:

podman --log-level debug run -it --rm bash

Describe the results you received:

time="2021-06-21T09:57:33Z" level=debug msg="[graphdriver] trying provided driver \"overlay\""
time="2021-06-21T09:57:33Z" level=debug msg="cached value indicated that overlay is supported"
time="2021-06-21T09:57:34Z" level=debug msg="overlay test mount indicated that metacopy is not being used"
time="2021-06-21T09:57:34Z" level=info msg="Not using native diff for overlay, this may cause degraded performance for building images: opaque flag erroneously copied up, consider update to kernel 4.8 or later to fix"
time="2021-06-21T09:57:34Z" level=debug msg="backingFs=extfs, projectQuotaSupported=false, useNativeDiff=false, usingMetacopy=false"

Describe the results you expected:
Since I'm on a later kernel than 4.8, it should use native diff for overlay.

Additional information you deem important (e.g. issue happens only occasionally):
I'm running podman rootless. I'm on kernel 5.13.0-051300rc6-generic.

Output of podman version:

Version:      3.3.0-dev
API Version:  3.3.0-dev
Go Version:   go1.16.5
Git Commit:   928687e1dab6b0dd57f5673791f33a3b336830d8
Built:        Sun Jun 20 17:49:01 2021
OS/Arch:      linux/amd64

Output of podman info --debug:

host:
  arch: amd64
  buildahVersion: 1.21.1
  cgroupControllers: []
  cgroupManager: systemd
  cgroupVersion: v2
  conmon:
    package: Unknown
    path: /usr/local/bin/conmon
    version: 'conmon version 2.0.30-dev, commit: '
  cpus: 8
  distribution:
    distribution: debian
    version: "11"
  eventLogger: journald
  hostname: debian
  idMappings:
    gidmap:
    - container_id: 0
      host_id: 1001
      size: 1
    - container_id: 1
      host_id: 165536
      size: 65536
    uidmap:
    - container_id: 0
      host_id: 1001
      size: 1
    - container_id: 1
      host_id: 165536
      size: 65536
  kernel: 5.13.0-051300rc6-generic
  linkmode: dynamic
  memFree: 7854641152
  memTotal: 8336752640
  ociRuntime:
    name: crun
    package: Unknown
    path: /usr/local/bin/crun
    version: |-
      crun version UNKNOWN
      commit: 7ef74c9330033cb884507c28fd8c267861486633
      spec: 1.0.0
      +SYSTEMD +SELINUX +APPARMOR +CAP +SECCOMP +EBPF +YAJL
  os: linux
  remoteSocket:
    path: /run/user/1001/podman/podman.sock
  security:
    apparmorEnabled: false
    capabilities: CAP_AUDIT_WRITE,CAP_CHOWN,CAP_DAC_OVERRIDE,CAP_FOWNER,CAP_FSETID,CAP_KILL,CAP_MKNOD,CAP_NET_BIND_SERVICE,CAP_NET_RAW,CAP_SETFCAP,CAP_SETGID,CAP_SETPCAP,CAP_SETUID,CAP_SYS_CHROOT
    rootless: true
    seccompEnabled: true
    seccompProfilePath: /usr/share/containers/seccomp.json
    selinuxEnabled: false
  serviceIsRemote: false
  slirp4netns:
    executable: /usr/local/bin/slirp4netns
    package: Unknown
    version: |-
      slirp4netns version 1.1.11+dev
      commit: 33eb5f7852e772f30ee8d5ac667fe35c796b4a94
      libslirp: 4.4.0
      SLIRP_CONFIG_VERSION_MAX: 3
      libseccomp: 2.5.1
  swapFree: 1022357504
  swapTotal: 1022357504
  uptime: 27m 10.14s
registries:
  search:
  - docker.io
store:
  configFile: /home/podman/.config/containers/storage.conf
  containerStore:
    number: 0
    paused: 0
    running: 0
    stopped: 0
  graphDriverName: overlay
  graphOptions: {}
  graphRoot: /home/podman/.local/share/containers/storage
  graphStatus:
    Backing Filesystem: extfs
    Native Overlay Diff: "false"
    Supports d_type: "true"
    Using metacopy: "false"
  imageStore:
    number: 1
  runRoot: /run/user/1001/containers
  volumePath: /home/podman/.local/share/containers/storage/volumes
version:
  APIVersion: 3.3.0-dev
  Built: 1624211341
  BuiltTime: Sun Jun 20 17:49:01 2021
  GitCommit: 928687e1dab6b0dd57f5673791f33a3b336830d8
  GoVersion: go1.16.5
  OsArch: linux/amd64
  Version: 3.3.0-dev

Have you tested with the latest version of Podman and have you checked the Podman Troubleshooting Guide? (https://github.com/containers/podman/blob/master/troubleshooting.md)
Yes

Additional environment details (AWS, VirtualBox, physical, etc.):
Frankendebian: Debian Bullseye RC1 with Ubuntu Mainline kernel 5.13.0-051300rc6-generic on VirtualBox (AMD64)

@giuseppe
Copy link
Member

have you tried the command with a fresh storage (podman system reset)?

@tobwen
Copy link
Author

tobwen commented Jun 22, 2021

Yes:

podman@debian:/tmp$ podman system reset

WARNING! This will remove:
        - all containers
        - all pods
        - all images
        - all build cache
Are you sure you want to continue? [y/N] y
podman@debian:/tmp$ podman --log-level debug run -it --rm bash
[...]

DEBU[0000] [graphdriver] trying provided driver "overlay"
DEBU[0000] cached value indicated that overlay is supported
DEBU[0000] overlay test mount indicated that metacopy is not being used
INFO[0000] Not using native diff for overlay, this may cause degraded performance for building images: opaque flag erroneously copied up, consider update to kernel 4.8 or later to fix
DEBU[0000] backingFs=extfs, projectQuotaSupported=false, useNativeDiff=false, usingMetacopy=false
[...]

It does NOT appear when being root.

@giuseppe giuseppe transferred this issue from containers/podman Jun 22, 2021
giuseppe added a commit to giuseppe/storage that referenced this issue Jun 22, 2021
make sure "userxattr" is specified, otherwise the "user.overlay."
xattrs are not treated specially and copied up as for the root case.

Closes: containers#947

Signed-off-by: Giuseppe Scrivano <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants