diff --git a/pkg/dsm/webapi/iscsi.go b/pkg/dsm/webapi/iscsi.go index 178b6f1..850c65f 100644 --- a/pkg/dsm/webapi/iscsi.go +++ b/pkg/dsm/webapi/iscsi.go @@ -14,15 +14,17 @@ import ( ) type LunInfo struct { - Name string `json:"name"` - Uuid string `json:"uuid"` - LunType int `json:"type"` - Location string `json:"location"` - Size uint64 `json:"size"` - Used uint64 `json:"allocated_size"` - Status string `json:"status"` - FlashcacheStatus string `json:"flashcache_status"` - IsActionLocked bool `json:"is_action_locked"` + Name string `json:"name"` + Uuid string `json:"uuid"` + LunType int `json:"type"` + Location string `json:"location"` + Size uint64 `json:"size"` + Used uint64 `json:"allocated_size"` + Status string `json:"status"` + FlashcacheStatus string `json:"flashcache_status"` + IsActionLocked bool `json:"is_action_locked"` + DirectIOPattern int `json:"direct_io_pattern"` + DevAttribs []LunDevAttrib `json:"dev_attribs"` } type MappedLun struct { @@ -67,11 +69,12 @@ type LunDevAttrib struct { } type LunCreateSpec struct { - Name string - Location string - Size int64 - Type string - DevAttribs []LunDevAttrib + Name string + Location string + Size int64 + Type string + DirectIOPattern int + DevAttribs []LunDevAttrib } type LunUpdateSpec struct { @@ -165,6 +168,7 @@ func (dsm *DSM) LunCreate(spec LunCreateSpec) (string, error) { params.Add("size", strconv.FormatInt(int64(spec.Size), 10)) params.Add("type", spec.Type) params.Add("location", spec.Location) + params.Add("direct_io_pattern", strconv.FormatInt(int64(spec.DirectIOPattern), 10)) js, err := json.Marshal(spec.DevAttribs) if err != nil {