// FindMultipathDeviceForDevice given a device name like /dev/sdx, find the devicemapper parent func (handler *deviceHandler) FindMultipathDeviceForDevice(device string) string { … } // findDeviceForPath Find the underlying disk for a linked path such as /dev/disk/by-path/XXXX or /dev/mapper/XXXX // will return sdX or hdX etc, if /dev/sdX is passed in then sdX will be returned func findDeviceForPath(path string, io IoUtil) (string, error) { … } // FindSlaveDevicesOnMultipath given a dm name like /dev/dm-1, find all devices // which are managed by the devicemapper dm-1. func (handler *deviceHandler) FindSlaveDevicesOnMultipath(dm string) []string { … } // GetISCSIPortalHostMapForTarget given a target iqn, find all the scsi hosts logged into // that target. Returns a map of iSCSI portals (string) to SCSI host numbers (integers). // // For example: { // "192.168.30.7:3260": 2, // "192.168.30.8:3260": 3, // } func (handler *deviceHandler) GetISCSIPortalHostMapForTarget(targetIqn string) (map[string]int, error) { … } // FindDevicesForISCSILun given an iqn, and lun number, find all the devices // corresponding to that LUN. func (handler *deviceHandler) FindDevicesForISCSILun(targetIqn string, lun int) ([]string, error) { … }