Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 426186 Details for
Bug 574316
app-emulation/docker-1.7.1 failed to build: devmapper_wrapper.go:191: Cdeps.device undefined (type *C.struct_dm_deps has no field or method device)
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch proposal
docker-1.7-go-1.5-f83d05c3be3c3bcc84f6fa229504848ee8078321.patch (text/plain), 1.96 KB, created by
Yannick Martin
on 2016-02-22 12:54:03 UTC
(
hide
)
Description:
Patch proposal
Filename:
MIME Type:
Creator:
Yannick Martin
Created:
2016-02-22 12:54:03 UTC
Size:
1.96 KB
patch
obsolete
>diff -aruN docker-1.7.1/daemon/graphdriver/devmapper/deviceset.go docker-1.7.1-go-1.5/daemon/graphdriver/devmapper/deviceset.go >--- docker-1.7.1/daemon/graphdriver/devmapper/deviceset.go 2015-07-14 20:41:25.000000000 +0200 >+++ docker-1.7.1-go-1.5/daemon/graphdriver/devmapper/deviceset.go 2016-02-22 13:46:24.352870744 +0100 >@@ -1272,14 +1272,15 @@ > if err != nil { > return err > } >- if d, err := devicemapper.GetDeps(devname); err == nil { >- // Access to more Debug output >- logrus.Debugf("[devmapper] devicemapper.GetDeps() %s: %#v", devname, d) >+ if devinfo.Exists == 0 { >+ return nil >+ } >+ if err := devicemapper.RemoveDevice(devname); err != nil { >+ return err > } >- if devinfo.Exists != 0 { >- return devicemapper.RemoveDevice(devname) >+ if d, err := devicemapper.GetDeps(devname); err == nil { >+ logrus.Warnf("[devmapper] device %s still has %d active dependents", devname, d.Count) > } >- > return nil > } > >diff -aruN docker-1.7.1/pkg/devicemapper/devmapper_wrapper.go docker-1.7.1-go-1.5/pkg/devicemapper/devmapper_wrapper.go >--- docker-1.7.1/pkg/devicemapper/devmapper_wrapper.go 2015-07-14 20:41:25.000000000 +0200 >+++ docker-1.7.1-go-1.5/pkg/devicemapper/devmapper_wrapper.go 2016-02-22 13:44:52.810197554 +0100 >@@ -38,7 +38,10 @@ > */ > import "C" > >-import "unsafe" >+import ( >+ "reflect" >+ "unsafe" >+) > > type ( > CDmTask C.struct_dm_task >@@ -184,13 +187,22 @@ > if Cdeps == nil { > return nil > } >+ >+ // golang issue: https://github.com/golang/go/issues/11925 >+ hdr := reflect.SliceHeader{ >+ Data: uintptr(unsafe.Pointer(uintptr(unsafe.Pointer(Cdeps)) + unsafe.Sizeof(*Cdeps))), >+ Len: int(Cdeps.count), >+ Cap: int(Cdeps.count), >+ } >+ devices := *(*[]C.uint64_t)(unsafe.Pointer(&hdr)) >+ > deps := &Deps{ > Count: uint32(Cdeps.count), > Filler: uint32(Cdeps.filler), > } >- for _, device := range Cdeps.device { >- deps.Device = append(deps.Device, (uint64)(device)) >- } >+ for _, device := range devices { >+ deps.Device = append(deps.Device, uint64(device)) >+ } > return deps > } >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 574316
:
425108
| 426186