func NewNaiveDiffDriver(driver ProtoDriver, updater LayerIDMapUpdater) Driver {
	return &NaiveDiffDriver{ProtoDriver: driver, LayerIDMapUpdater: updater}
}
NewNaiveDiffDriver returns a fully functional driver that wraps the
given ProtoDriver and adds the capability of the following methods which
it may or may not support on its own:
Diff(id string, idMappings *idtools.IDMappings, parent string, parentMappings *idtools.IDMappings, mountLabel string) (io.ReadCloser, error)
Changes(id string, idMappings *idtools.IDMappings, parent string, parentMappings *idtools.IDMappings, mountLabel string) ([]archive.Change, error)
ApplyDiff(id, parent string, options ApplyDiffOpts) (size int64, err error)
DiffSize(id string, idMappings *idtools.IDMappings, parent, parentMappings *idtools.IDMappings, mountLabel string) (size int64, err error)
package graphdriver
import (
	"io"
	"time"
	"github.com/containers/storage/pkg/archive"
	"github.com/containers/storage/pkg/chrootarchive"
	"github.com/containers/storage/pkg/idtools"
	"github.com/containers/storage/pkg/ioutils"
	"github.com/opencontainers/runc/libcontainer/userns"
	"github.com/sirupsen/logrus"
)
var (
	ApplyUncompressedLayer = chrootarchive.ApplyUncompressedLayer
)
type NaiveDiffDriver struct {
	ProtoDriver
	LayerIDMapUpdater
}