| 1 | 1 |
deleted file mode 100644 |
| ... | ... |
@@ -1,14 +0,0 @@ |
| 1 |
-package docker |
|
| 2 |
- |
|
| 3 |
-type DeviceSet interface {
|
|
| 4 |
- AddDevice(hash, baseHash string) error |
|
| 5 |
- SetInitialized(hash string) error |
|
| 6 |
- DeactivateDevice(hash string) error |
|
| 7 |
- RemoveDevice(hash string) error |
|
| 8 |
- MountDevice(hash, path string) error |
|
| 9 |
- UnmountDevice(hash, path string, deactivate bool) error |
|
| 10 |
- HasDevice(hash string) bool |
|
| 11 |
- HasInitializedDevice(hash string) bool |
|
| 12 |
- HasActivatedDevice(hash string) bool |
|
| 13 |
- Shutdown() error |
|
| 14 |
-} |
| ... | ... |
@@ -573,19 +573,6 @@ func (devices *DeviceSetDM) waitClose(hash string) error {
|
| 573 | 573 |
return nil |
| 574 | 574 |
} |
| 575 | 575 |
|
| 576 |
-func (devices *DeviceSetDM) DeactivateDevice(hash string) error {
|
|
| 577 |
- devices.Lock() |
|
| 578 |
- defer devices.Unlock() |
|
| 579 |
- |
|
| 580 |
- if err := devices.ensureInit(); err != nil {
|
|
| 581 |
- utils.Debugf("\n--->Err: %s\n", err)
|
|
| 582 |
- return err |
|
| 583 |
- } |
|
| 584 |
- |
|
| 585 |
- utils.Debugf("DeactivateDevice %s", hash)
|
|
| 586 |
- return devices.deactivateDevice(hash) |
|
| 587 |
-} |
|
| 588 |
- |
|
| 589 | 576 |
func (devices *DeviceSetDM) Shutdown() error {
|
| 590 | 577 |
devices.Lock() |
| 591 | 578 |
utils.Debugf("[devmapper] Shutting down DeviceSet: %s", devices.root)
|
| ... | ... |
@@ -6,6 +6,7 @@ import ( |
| 6 | 6 |
"encoding/json" |
| 7 | 7 |
"fmt" |
| 8 | 8 |
"github.com/dotcloud/docker/utils" |
| 9 |
+ "github.com/dotcloud/docker/devmapper" |
|
| 9 | 10 |
"io" |
| 10 | 11 |
"io/ioutil" |
| 11 | 12 |
"os" |
| ... | ... |
@@ -334,7 +335,7 @@ func (image *Image) applyLayer(layer, target string) error {
|
| 334 | 334 |
return nil |
| 335 | 335 |
} |
| 336 | 336 |
|
| 337 |
-func (image *Image) ensureImageDevice(devices DeviceSet) error {
|
|
| 337 |
+func (image *Image) ensureImageDevice(devices *devmapper.DeviceSetDM) error {
|
|
| 338 | 338 |
if devices.HasInitializedDevice(image.ID) {
|
| 339 | 339 |
return nil |
| 340 | 340 |
} |
| ... | ... |
@@ -43,7 +43,7 @@ type Runtime struct {
|
| 43 | 43 |
volumes *Graph |
| 44 | 44 |
srv *Server |
| 45 | 45 |
Dns []string |
| 46 |
- deviceSet DeviceSet |
|
| 46 |
+ deviceSet *devmapper.DeviceSetDM |
|
| 47 | 47 |
} |
| 48 | 48 |
|
| 49 | 49 |
var sysInitPath string |
| ... | ... |
@@ -86,7 +86,7 @@ func (runtime *Runtime) getContainerElement(id string) *list.Element {
|
| 86 | 86 |
return nil |
| 87 | 87 |
} |
| 88 | 88 |
|
| 89 |
-func (runtime *Runtime) GetDeviceSet() (DeviceSet, error) {
|
|
| 89 |
+func (runtime *Runtime) GetDeviceSet() (*devmapper.DeviceSetDM, error) {
|
|
| 90 | 90 |
if runtime.deviceSet == nil {
|
| 91 | 91 |
return nil, fmt.Errorf("No device set available")
|
| 92 | 92 |
} |
| ... | ... |
@@ -324,62 +324,3 @@ func TestParseLxcConfOpt(t *testing.T) {
|
| 324 | 324 |
} |
| 325 | 325 |
} |
| 326 | 326 |
} |
| 327 |
- |
|
| 328 |
-type DeviceSetWrapper struct {
|
|
| 329 |
- wrapped DeviceSet |
|
| 330 |
- prefix string |
|
| 331 |
-} |
|
| 332 |
- |
|
| 333 |
-func (wrapper *DeviceSetWrapper) wrap(hash string) string {
|
|
| 334 |
- if hash != "" {
|
|
| 335 |
- hash = wrapper.prefix + "-" + hash |
|
| 336 |
- } |
|
| 337 |
- return hash |
|
| 338 |
-} |
|
| 339 |
- |
|
| 340 |
-func (wrapper *DeviceSetWrapper) AddDevice(hash, baseHash string) error {
|
|
| 341 |
- return wrapper.wrapped.AddDevice(wrapper.wrap(hash), wrapper.wrap(baseHash)) |
|
| 342 |
-} |
|
| 343 |
- |
|
| 344 |
-func (wrapper *DeviceSetWrapper) SetInitialized(hash string) error {
|
|
| 345 |
- return wrapper.wrapped.SetInitialized(wrapper.wrap(hash)) |
|
| 346 |
-} |
|
| 347 |
- |
|
| 348 |
-func (wrapper *DeviceSetWrapper) DeactivateDevice(hash string) error {
|
|
| 349 |
- return wrapper.wrapped.DeactivateDevice(wrapper.wrap(hash)) |
|
| 350 |
-} |
|
| 351 |
- |
|
| 352 |
-func (wrapper *DeviceSetWrapper) Shutdown() error {
|
|
| 353 |
- return nil |
|
| 354 |
-} |
|
| 355 |
- |
|
| 356 |
-func (wrapper *DeviceSetWrapper) RemoveDevice(hash string) error {
|
|
| 357 |
- return wrapper.wrapped.RemoveDevice(wrapper.wrap(hash)) |
|
| 358 |
-} |
|
| 359 |
- |
|
| 360 |
-func (wrapper *DeviceSetWrapper) MountDevice(hash, path string) error {
|
|
| 361 |
- return wrapper.wrapped.MountDevice(wrapper.wrap(hash), path) |
|
| 362 |
-} |
|
| 363 |
- |
|
| 364 |
-func (wrapper *DeviceSetWrapper) UnmountDevice(hash, path string, deactivate bool) error {
|
|
| 365 |
- return wrapper.wrapped.UnmountDevice(wrapper.wrap(hash), path, deactivate) |
|
| 366 |
-} |
|
| 367 |
- |
|
| 368 |
-func (wrapper *DeviceSetWrapper) HasDevice(hash string) bool {
|
|
| 369 |
- return wrapper.wrapped.HasDevice(wrapper.wrap(hash)) |
|
| 370 |
-} |
|
| 371 |
- |
|
| 372 |
-func (wrapper *DeviceSetWrapper) HasInitializedDevice(hash string) bool {
|
|
| 373 |
- return wrapper.wrapped.HasInitializedDevice(wrapper.wrap(hash)) |
|
| 374 |
-} |
|
| 375 |
- |
|
| 376 |
-func (wrapper *DeviceSetWrapper) HasActivatedDevice(hash string) bool {
|
|
| 377 |
- return wrapper.wrapped.HasActivatedDevice(wrapper.wrap(hash)) |
|
| 378 |
-} |
|
| 379 |
- |
|
| 380 |
-func NewDeviceSetWrapper(wrapped DeviceSet, prefix string) DeviceSet {
|
|
| 381 |
- return &DeviceSetWrapper{
|
|
| 382 |
- wrapped: wrapped, |
|
| 383 |
- prefix: prefix, |
|
| 384 |
- } |
|
| 385 |
-} |