xl: Enable a subset of tests for XL branch. (#1359)

This commit is contained in:
Harshavardhana
2016-04-22 16:19:45 -07:00
committed by Harshavardhana
parent 8c85815106
commit cab6805f09
4 changed files with 58 additions and 18 deletions

View File

@@ -159,16 +159,23 @@ func (xl XL) MakeVol(volume string) error {
if !isValidVolname(volume) {
return errInvalidArgument
}
// Collect if all disks report volume exists.
var volumeExistsMap = make(map[int]struct{})
// Make a volume entry on all underlying storage disks.
for _, disk := range xl.storageDisks {
for index, disk := range xl.storageDisks {
if err := disk.MakeVol(volume); err != nil {
// We ignore error if errVolumeExists and creating a volume again.
if err == errVolumeExists {
volumeExistsMap[index] = struct{}{}
continue
}
return err
}
}
// Return err if all disks report volume exists.
if len(volumeExistsMap) == len(xl.storageDisks) {
return errVolumeExists
}
return nil
}
@@ -177,15 +184,25 @@ func (xl XL) DeleteVol(volume string) error {
if !isValidVolname(volume) {
return errInvalidArgument
}
for _, disk := range xl.storageDisks {
// Collect if all disks report volume not found.
var volumeNotFoundMap = make(map[int]struct{})
// Remove a volume entry on all underlying storage disks.
for index, disk := range xl.storageDisks {
if err := disk.DeleteVol(volume); err != nil {
// We ignore error if errVolumeNotFound.
if err == errVolumeNotFound {
volumeNotFoundMap[index] = struct{}{}
continue
}
return err
}
}
// Return err if all disks report volume not found.
if len(volumeNotFoundMap) == len(xl.storageDisks) {
return errVolumeNotFound
}
return nil
}