[
https://issues.apache.org/jira/browse/MESOS-6360?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Qian Zhang updated MESOS-6360:
------------------------------
Target Version/s: 1.1.0
Priority: Blocker (was: Major)
> The handling of whiteout files in provisioner is not correct
> ------------------------------------------------------------
>
> Key: MESOS-6360
> URL: https://issues.apache.org/jira/browse/MESOS-6360
> Project: Mesos
> Issue Type: Bug
> Reporter: Qian Zhang
> Assignee: Qian Zhang
> Priority: Blocker
>
> Currently when user launches a container from a Docker image via universal
> containerizer, we always handle the whiteout files in
> {{ProvisionerProcess::__provision()}} regardless of which backend is used.
> However this is actually not correct, because the way to handle whiteout
> files is backend dependent, that means for different backends, we need to
> handle whiteout files in different ways, e.g.:
> * AUFS backend: It seems the AUFS whiteout ({{.wh.<filename/dirname>}} and
> {{.wh..wh..opq}}) is the whiteout standard in Docker (see [this comment |
> https://github.com/docker/docker/blob/v1.12.1/pkg/archive/archive.go#L259:L262]
> for details), so that means after the Docker image is pulled, its whiteout
> files in the store are already in aufs format, then we do not need to do
> anything about whiteout file handling because the aufs mount done in
> {{AufsBackendProcess::provision()}} will handle it automatically.
> * Overlay backend: Overlayfs has its own whiteout files (see [this doc |
> https://www.kernel.org/doc/Documentation/filesystems/overlayfs.txt] for
> details), so we need to convert the aufs whiteout files to overlayfs whiteout
> files before we do the overlay mount in {{OverlayBackendProcess::provision}}
> which will automatically handle the overlayfs whiteout files.
> * Copy backend: We need to manually handle the aufs whiteout files when we
> copy each layer in {{CopyBackendProcess::_provision()}}.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)