| ... | ... |
@@ -344,7 +344,7 @@ func setCloseOnExec(name string) {
|
| 344 | 344 |
if link == name {
|
| 345 | 345 |
fd, err := strconv.Atoi(i.Name()) |
| 346 | 346 |
if err == nil {
|
| 347 |
- syscall.CloseOnExec(fd) |
|
| 347 |
+ SyscallCloseOnExec(fd) |
|
| 348 | 348 |
} |
| 349 | 349 |
} |
| 350 | 350 |
} |
| ... | ... |
@@ -716,7 +716,7 @@ func (devices *DeviceSet) Shutdown() error {
|
| 716 | 716 |
|
| 717 | 717 |
for path, count := range devices.activeMounts {
|
| 718 | 718 |
for i := count; i > 0; i-- {
|
| 719 |
- if err := syscall.Unmount(path, 0); err != nil {
|
|
| 719 |
+ if err := SyscallUnmount(path, 0); err != nil {
|
|
| 720 | 720 |
utils.Debugf("Shutdown unmounting %s, error: %s\n", path, err)
|
| 721 | 721 |
} |
| 722 | 722 |
} |
| ... | ... |
@@ -758,9 +758,9 @@ func (devices *DeviceSet) MountDevice(hash, path string, readOnly bool) error {
|
| 758 | 758 |
flags = flags | syscall.MS_RDONLY |
| 759 | 759 |
} |
| 760 | 760 |
|
| 761 |
- err := syscall.Mount(info.DevName(), path, "ext4", flags, "discard") |
|
| 761 |
+ err := SyscallMount(info.DevName(), path, "ext4", flags, "discard") |
|
| 762 | 762 |
if err != nil && err == syscall.EINVAL {
|
| 763 |
- err = syscall.Mount(info.DevName(), path, "ext4", flags, "") |
|
| 763 |
+ err = SyscallMount(info.DevName(), path, "ext4", flags, "") |
|
| 764 | 764 |
} |
| 765 | 765 |
if err != nil {
|
| 766 | 766 |
return fmt.Errorf("Error mounting '%s' on '%s': %s", info.DevName(), path, err)
|
| ... | ... |
@@ -779,7 +779,7 @@ func (devices *DeviceSet) UnmountDevice(hash, path string, deactivate bool) erro |
| 779 | 779 |
defer devices.Unlock() |
| 780 | 780 |
|
| 781 | 781 |
utils.Debugf("[devmapper] Unmount(%s)", path)
|
| 782 |
- if err := syscall.Unmount(path, 0); err != nil {
|
|
| 782 |
+ if err := SyscallUnmount(path, 0); err != nil {
|
|
| 783 | 783 |
utils.Debugf("\n--->Err: %s\n", err)
|
| 784 | 784 |
return err |
| 785 | 785 |
} |
| ... | ... |
@@ -216,7 +216,7 @@ func FindLoopDeviceFor(file *os.File) *os.File {
|
| 216 | 216 |
for i := 0; true; i++ {
|
| 217 | 217 |
path := fmt.Sprintf("/dev/loop%d", i)
|
| 218 | 218 |
|
| 219 |
- file, err := os.OpenFile(path, os.O_RDWR, 0) |
|
| 219 |
+ file, err := OSOpenFile(path, os.O_RDWR, 0) |
|
| 220 | 220 |
if err != nil {
|
| 221 | 221 |
if os.IsNotExist(err) {
|
| 222 | 222 |
return nil |
| ... | ... |
@@ -241,19 +241,19 @@ func dmTaskAddTargetFct(task *CDmTask, |
| 241 | 241 |
|
| 242 | 242 |
func dmGetLoopbackBackingFile(fd uintptr) (uint64, uint64, syscall.Errno) {
|
| 243 | 243 |
var lo64 C.struct_loop_info64 |
| 244 |
- _, _, err := syscall.Syscall(syscall.SYS_IOCTL, fd, C.LOOP_GET_STATUS64, |
|
| 244 |
+ _, _, err := SyscallSyscall(syscall.SYS_IOCTL, fd, C.LOOP_GET_STATUS64, |
|
| 245 | 245 |
uintptr(unsafe.Pointer(&lo64))) |
| 246 | 246 |
return uint64(lo64.lo_device), uint64(lo64.lo_inode), err |
| 247 | 247 |
} |
| 248 | 248 |
|
| 249 | 249 |
func dmLoopbackSetCapacity(fd uintptr) syscall.Errno {
|
| 250 |
- _, _, err := syscall.Syscall(syscall.SYS_IOCTL, fd, C.LOOP_SET_CAPACITY, 0) |
|
| 250 |
+ _, _, err := SyscallSyscall(syscall.SYS_IOCTL, fd, C.LOOP_SET_CAPACITY, 0) |
|
| 251 | 251 |
return err |
| 252 | 252 |
} |
| 253 | 253 |
|
| 254 | 254 |
func dmGetBlockSizeFct(fd uintptr) (int64, syscall.Errno) {
|
| 255 | 255 |
var size int64 |
| 256 |
- _, _, err := syscall.Syscall(syscall.SYS_IOCTL, fd, C.BLKGETSIZE64, |
|
| 256 |
+ _, _, err := SyscallSyscall(syscall.SYS_IOCTL, fd, C.BLKGETSIZE64, |
|
| 257 | 257 |
uintptr(unsafe.Pointer(&size))) |
| 258 | 258 |
return size, err |
| 259 | 259 |
} |
| ... | ... |
@@ -308,7 +308,7 @@ func dmAttachLoopDeviceFct(filename string, fd *int) string {
|
| 308 | 308 |
} |
| 309 | 309 |
|
| 310 | 310 |
func getBlockSizeFct(fd uintptr, size *uint64) syscall.Errno {
|
| 311 |
- _, _, err := syscall.Syscall(syscall.SYS_IOCTL, fd, C.BLKGETSIZE64, |
|
| 311 |
+ _, _, err := SyscallSyscall(syscall.SYS_IOCTL, fd, C.BLKGETSIZE64, |
|
| 312 | 312 |
uintptr(unsafe.Pointer(&size))) |
| 313 | 313 |
return err |
| 314 | 314 |
} |
| 315 | 315 |
new file mode 100644 |
| ... | ... |
@@ -0,0 +1,15 @@ |
| 0 |
+package devmapper |
|
| 1 |
+ |
|
| 2 |
+ |
|
| 3 |
+import ( |
|
| 4 |
+ "syscall" |
|
| 5 |
+) |
|
| 6 |
+ |
|
| 7 |
+ |
|
| 8 |
+var ( |
|
| 9 |
+ SyscallMount = syscall.Mount |
|
| 10 |
+ SyscallUnmount = syscall.Unmount |
|
| 11 |
+ SyscallCloseOnExec = syscall.CloseOnExec |
|
| 12 |
+ SyscallSyscall = syscall.Syscall |
|
| 13 |
+ OSOpenFile = os.OpenFile |
|
| 14 |
+) |