fix citd
This commit is contained in:
17
citd.go
17
citd.go
@@ -22,7 +22,6 @@ import (
|
||||
"fmt"
|
||||
"os"
|
||||
"os/signal"
|
||||
"reflect"
|
||||
"runtime"
|
||||
"strings"
|
||||
"syscall"
|
||||
@@ -70,29 +69,25 @@ Help Options:
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
service := scsi.NewSCSITargetService()
|
||||
t, err := port.NewTargetService(*flDriver, service)
|
||||
scsiTarget := scsi.NewSCSITargetService()
|
||||
targetDriver, err := port.NewTargetService(*flDriver, scsiTarget)
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
os.Exit(1)
|
||||
}
|
||||
iscsit := reflect.ValueOf(t)
|
||||
// create a new target
|
||||
|
||||
for tgtname, tgt := range config.Targets {
|
||||
create := iscsit.MethodByName("NewTarget")
|
||||
create.Call([]reflect.Value{reflect.ValueOf(tgtname),
|
||||
reflect.ValueOf(tgt.Portals)})
|
||||
targetDriver.NewTarget(tgtname, tgt.Portals)
|
||||
}
|
||||
|
||||
runtime.GOMAXPROCS(runtime.NumCPU())
|
||||
// run a service
|
||||
run := iscsit.MethodByName("Run")
|
||||
go run.Call([]reflect.Value{})
|
||||
go targetDriver.Run()
|
||||
|
||||
serverConfig := &apiserver.Config{
|
||||
Addrs: []apiserver.Addr{},
|
||||
}
|
||||
//hosts := []string{"unix:///var/run/gotgt.sock"}
|
||||
|
||||
hosts := []string{}
|
||||
if *flHost != "" {
|
||||
hosts = append(hosts, *flHost)
|
||||
|
||||
@@ -36,13 +36,13 @@ func RegisterTargetService(name string, f TargetServiceFunc) {
|
||||
registeredPlugins[name] = f
|
||||
}
|
||||
|
||||
func NewTargetService(name string, s *scsi.SCSITargetService) (SCSITargetService, error) {
|
||||
if name == "" {
|
||||
func NewTargetService(targetDriverName string, s *scsi.SCSITargetService) (SCSITargetService, error) {
|
||||
if targetDriverName == "" {
|
||||
return nil, nil
|
||||
}
|
||||
f, ok := registeredPlugins[name]
|
||||
targetInitFunc, ok := registeredPlugins[targetDriverName]
|
||||
if !ok {
|
||||
return nil, fmt.Errorf("SCSI target driver %s is not found.", name)
|
||||
return nil, fmt.Errorf("SCSI target driver %s is not found.", targetDriverName)
|
||||
}
|
||||
return f(s)
|
||||
return targetInitFunc(s)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user