Merge pull request #22 from fkautz/pr_out_moving_scsi_pkg_away_from_errors_new

Moving scsi pkg away from errors.New
This commit is contained in:
Harshavardhana 2015-01-20 11:35:43 -08:00
commit b921c5b459
2 changed files with 52 additions and 6 deletions

47
pkg/os/scsi/errors.go Normal file
View file

@ -0,0 +1,47 @@
/*
* Mini Object Storage, (C) 2015 Minio, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package scsi
type NoDiskAttributesFound struct{}
func (self NoDiskAttributesFound) Error() string {
return "No Disk Attributes Found"
}
type NoDiskQueueAttributesFound struct{}
func (self NoDiskQueueAttributesFound) Error() string {
return "No Disk Queue Attributes Found"
}
type NoScsiDevicesFoundOnSystem struct{}
func (self NoScsiDevicesFoundOnSystem) Error() string {
return "No scsi devices found on the system"
}
type ScsiAddressPointsToMultipleBlockDevices struct{}
func (self ScsiAddressPointsToMultipleBlockDevices) Error() string {
return "Scsi address points to multiple block devices"
}
type NoScsiAttributesFound struct{}
func (self NoScsiAttributesFound) Error() string {
return "No Scsi Attributes Found"
}

View file

@ -19,7 +19,6 @@
package scsi
import (
"errors"
"io/ioutil"
"path"
)
@ -86,11 +85,11 @@ func (d *Devices) getInfo(disk string) (map[string][]byte, error) {
}
if len(diskAttrsList) == 0 {
return nil, errors.New("No disk attributes found")
return nil, NoDiskAttributesFound{}
}
if len(diskQueueAttrs) == 0 {
return nil, errors.New("No disk queue attributes found")
return nil, NoDiskQueueAttributesFound{}
}
diskAttrMap := getattrs(sysfs_block_dev, diskAttrsList)
@ -118,7 +117,7 @@ func (d *Devices) Get() error {
scsidevices = filterdevices(sysFiles)
if len(scsidevices) == 0 {
return errors.New("No scsi devices found on the system")
return NoScsiDevicesFoundOnSystem{}
}
for _, scsi := range scsidevices {
@ -135,7 +134,7 @@ func (d *Devices) Get() error {
}
if len(scsidevList) > 1 {
return errors.New("Scsi address points to multiple block devices")
return ScsiAddressPointsToMultipleBlockDevices{}
}
_scsi.Disk = UDEV + scsidevList[0].Name()
@ -156,7 +155,7 @@ func (d *Devices) Get() error {
}
if len(scsiAttrList) == 0 {
return errors.New("No scsi attributes found")
return NoScsiAttributesFound{}
}
attrMap := getattrs(scsiAttrPath, scsiAttrList)
_scsi.Scsiattrmap = attrMap