Add graph driver registration

This commit is contained in:
Michael Crosby
2013-11-04 15:22:34 -08:00
parent 98c3693acf
commit 752bfba2c5
5 changed files with 82 additions and 19 deletions
+9 -7
View File
@@ -2,11 +2,16 @@ package devmapper
import (
"fmt"
"github.com/dotcloud/docker/archive"
"github.com/dotcloud/docker/graphdriver"
"os"
"path"
"github.com/dotcloud/docker/archive"
)
func init() {
graphdriver.Register("devicemapper", Init)
}
// Placeholder interfaces, to be replaced
// at integration.
@@ -17,22 +22,19 @@ type Image interface {
}
type Change interface {
}
// End of placeholder interfaces.
type Driver struct {
*DeviceSet
home string
}
func Init(home string) (*Driver, error) {
func Init(home string) (graphdriver.Driver, error) {
d := &Driver{
DeviceSet: NewDeviceSet(home),
home: home,
home: home,
}
if err := d.DeviceSet.ensureInit(); err != nil {
return nil, err
@@ -64,7 +66,7 @@ func (d *Driver) OnCreate(img Image, layer archive.Archive) error {
if err := d.DeviceSet.MountDevice(img.ID(), mp, false); err != nil {
return err
}
// Apply the layer as a diff
// Apply the layer as a diff
if layer != nil {
if err := archive.ApplyLayer(mp, layer); err != nil {
return err