This issue is part of splitting #1185 for tracking purposes.
Due to limitations of NTFS (valid character set, linux style ownership and permissions), it is not possible to store LCOW layers raw on disk. Instead, the files must be managed by a Linux Service Virtual Machine (Service VM from here on out) and stored on disk as a VHD. This means that the snapshotter on Windows needs to understand the context of the call (Windows container or Linux container) to decide if the call must be forwarded to be completed via the Service VM. Since the multiple snapshotter PR is merged, this seems reasonable to do.
This means that all locations that access the container's filesystem need to coordinate with the Service VM.
The differ currently makes the assumption that the layers can be expanded out to disk. As per above, this is not possible for LCOW. The differ will need a way to do different things with different types of mounts. This could either be done by Mount type, but more likely an API addition is needed to specify a differ (or snapshotter) to complete the operation. #1017 seems to have taken a bit of a pass at doing something similar, though not currently sufficient for LCOW as far as I can tell.
This is needed before the snapshotter can replace the graphdriver in moby/moby.
This issue is part of splitting #1185 for tracking purposes.
Due to limitations of NTFS (valid character set, linux style ownership and permissions), it is not possible to store LCOW layers raw on disk. Instead, the files must be managed by a Linux Service Virtual Machine (Service VM from here on out) and stored on disk as a VHD. This means that the snapshotter on Windows needs to understand the context of the call (Windows container or Linux container) to decide if the call must be forwarded to be completed via the Service VM. Since the multiple snapshotter PR is merged, this seems reasonable to do.
This means that all locations that access the container's filesystem need to coordinate with the Service VM.
The differ currently makes the assumption that the layers can be expanded out to disk. As per above, this is not possible for LCOW. The differ will need a way to do different things with different types of mounts. This could either be done by Mount type, but more likely an API addition is needed to specify a differ (or snapshotter) to complete the operation. #1017 seems to have taken a bit of a pass at doing something similar, though not currently sufficient for LCOW as far as I can tell.
This is needed before the snapshotter can replace the graphdriver in moby/moby.