Skip to content
New issue

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

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

Already on GitHub? # to your account

Support for Block CIMs #2261

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open

Commits on Sep 9, 2024

  1. Remove unnecessary cim mount cache

    Currently we have a map which maintains a mapping of CIM & containerd ID to the volume at
    which a CIM is mounted for the given container. This was required before the layer
    refactoring work when we needed to get the volume path from the layer cim path. However,
    this isn't needed anymore. As of now, this map doesn't provide much value and makes the code a
    bit complicated. Moreover, we will need to rewrite some of this code anyway when we do the work
    required for handling `shim delete` cleanups properly (containerd/containerd#9727).
    
    Signed-off-by: Amit Barve <ambarve@microsoft.com>
    ambarve committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    b28bdd3 View commit details
    Browse the repository at this point in the history

Commits on Oct 2, 2024

  1. Block CIM types and new CimFS API wrappers

    CimFS now supports a new format for storing CIMs, named BlockCIM.  A block CIM format can
    store the entire CIM on a block device (like a VHD) or a file formatted like a block
    device.
    
    This commit adds Go wrappers for the new CimFS APIs that allow creation, merging and
    mounting of such Block CIMs. Some new flags required when creating and mounting these CIMs
    are added and some deprecated flags have been removed. New type has been introduced to
    represent a block CIM. Unit tests have been added to test the newly added CimFS
    functionality. Lastly, CimFS flags aren't a part of the hcs schema (only the CimMount
    request is), those flags are moved from the hcs/schema2 package to the cimfs package.
    
    Signed-off-by: Amit Barve <ambarve@microsoft.com>
    ambarve committed Oct 2, 2024
    Configuration menu
    Copy the full SHA
    01f38f8 View commit details
    Browse the repository at this point in the history
  2. Add LayerWriter for block CIMs

    This commit adds a layer writer that can be used for extracting an image layer tar into a
    Block CIM format.
    
    Existing forked CIM layer writer was renamed to a common base type `cimLayerWriter`.
    Forked CIM layer writer & Block CIM layer writer both now extend this common base type to
    write layers in that specific format.
    
    Signed-off-by: Amit Barve <ambarve@microsoft.com>
    ambarve committed Oct 2, 2024
    Configuration menu
    Copy the full SHA
    20c7227 View commit details
    Browse the repository at this point in the history
  3. Use Block CIM layers for container RootFS

    This commit adds the ability to parse block CIM layer mounts and to mount the merged block
    CIMs to be used as a rootfs for a container.
    
    Signed-off-by: Amit Barve <ambarve@microsoft.com>
    ambarve committed Oct 2, 2024
    Configuration menu
    Copy the full SHA
    cda4bee View commit details
    Browse the repository at this point in the history