perf3
This commit is contained in:
@@ -24,7 +24,6 @@ import (
|
||||
|
||||
"github.com/gostor/gotgt/pkg/api"
|
||||
"github.com/gostor/gotgt/pkg/util"
|
||||
"github.com/gostor/gotgt/pkg/util/pool"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -126,13 +125,12 @@ func (c *iscsiConnection) init() {
|
||||
sort.Sort(c.loginParam.sessionParam)
|
||||
}
|
||||
|
||||
func (c *iscsiConnection) readData(size int) ([]byte, int, error) {
|
||||
var buf = pool.NewBuffer(size)
|
||||
func (c *iscsiConnection) readData(buf []byte) (int, error) {
|
||||
length, err := io.ReadFull(c.conn, buf)
|
||||
if err != nil {
|
||||
return nil, -1, err
|
||||
return -1, err
|
||||
}
|
||||
return buf, length, nil
|
||||
return length, nil
|
||||
}
|
||||
|
||||
func (c *iscsiConnection) write(resp []byte) (int, error) {
|
||||
|
||||
@@ -217,7 +217,7 @@ func (s *ISCSITargetDriver) rxHandler(conn *iscsiConnection) {
|
||||
switch conn.rxIOState {
|
||||
case IOSTATE_RX_BHS:
|
||||
log.Debug("rx handler: IOSTATE_RX_BHS")
|
||||
buf, length, err = conn.readData(BHS_SIZE)
|
||||
length, err = conn.readData(buf)
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -227,7 +227,6 @@ func (s *ISCSITargetDriver) rxHandler(conn *iscsiConnection) {
|
||||
conn.state = CONN_STATE_CLOSE
|
||||
return
|
||||
}
|
||||
//conn.rxBuffer = buf
|
||||
cmd, err = parseHeader(buf)
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
@@ -262,12 +261,11 @@ func (s *ISCSITargetDriver) rxHandler(conn *iscsiConnection) {
|
||||
cmd.RawData = pool.NewBuffer(dl)
|
||||
length := 0
|
||||
for length < dl {
|
||||
b, l, err := conn.readData(dl - length)
|
||||
l, err := conn.readData(cmd.RawData[length:])
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
}
|
||||
copy(cmd.RawData[length:], b)
|
||||
length += l
|
||||
}
|
||||
if length != dl {
|
||||
|
||||
Reference in New Issue
Block a user