Skip to content

erofs snapshotter: "mount options is too long" with 100 layer image #12662

@azr

Description

@azr

Description

When using the erofs snapshotter with container images that have many layers (~100), container startup fails with, eg: ctr: failed to mount /tmp/containerd-mount3916004491: mount options is too long. The image pull and extraction work correctly, but mounting fails due to the limit on mount options string length.

  • Linux kernel: 6.17.0-1003-aws (Ubuntu)
  • Snapshotter: erofs

Steps to reproduce the issue

  1. have a 100 layers image
  2. pull it
  3. run it, ex ./bin/ctr --address /run/containerd/containerd_profile_1765366146954035665.sock run --tty --snapshotter erofs $image startup-test-2891170

Describe the results you received and expected

I expected the container to just start.

What version of containerd are you using?

b9e7220

Any other relevant information

The image is a 'rebalanced' version of docker.io/vllm/vllm-openai:v0.9.0 were we split up the big layers into smaller ones.

Show configuration if it is related to CRI plugin.

    max_concurrent_downloads = 64
    concurrent_layer_fetch_buffer = 209715200
  [plugins.'io.containerd.differ.v1.erofs']
  [plugins.'io.containerd.mount-handler.v1.erofs']
    default = ['erofs', 'walking']
  [plugins.'io.containerd.snapshotter.v1.erofs']
    ovl_mount_options = ['volatile']
    enable_fsverity = false
    set_immutable = false
    max_concurrent_downloads = 64
    concurrent_layer_fetch_buffer = 209715200
    max_concurrent_unpacks = 100
    [[plugins.'io.containerd.transfer.v1.local'.unpack_config]]
      platform = "linux/amd64"
      snapshotter = 'erofs'

Metadata

Metadata

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions