mirror of
https://github.com/docker/cli.git
synced 2026-01-15 07:40:57 +03:00
Check if the target loopback is a block device
Upstream-commit: 8a5d927a5337b1c9a0c8478c4e522ce0ded09b85 Component: engine
This commit is contained in:
@@ -39,8 +39,9 @@ func openNextAvailableLoopback(index int, sparseFile *osFile) (loopFile *osFile,
|
||||
return nil, ErrAttachLoopbackDevice
|
||||
}
|
||||
|
||||
// FIXME: Check here if target is a block device (in C: S_ISBLK(mode))
|
||||
if fi.IsDir() {
|
||||
if fi.Mode()&osModeDevice != osModeDevice {
|
||||
utils.Errorf("Loopback device %s is not a block device.", target)
|
||||
continue
|
||||
}
|
||||
|
||||
// Open the targeted loopback (use OpenFile because Open sets O_CLOEXEC)
|
||||
|
||||
@@ -46,9 +46,10 @@ const (
|
||||
sysSysIoctl = syscall.SYS_IOCTL
|
||||
sysEBusy = syscall.EBUSY
|
||||
|
||||
osORdOnly = os.O_RDONLY
|
||||
osORdWr = os.O_RDWR
|
||||
osOCreate = os.O_CREATE
|
||||
osORdOnly = os.O_RDONLY
|
||||
osORdWr = os.O_RDWR
|
||||
osOCreate = os.O_CREATE
|
||||
osModeDevice = os.ModeDevice
|
||||
)
|
||||
|
||||
func toSysStatT(i interface{}) *sysStatT {
|
||||
|
||||
Reference in New Issue
Block a user