Documentation ¶
Overview ¶
@Author: LinkLeong link@icewhale.com
*@Date: 2022-07-13 10:43:45 *@LastEditors: LinkLeong *@LastEditTime: 2022-08-03 14:45:35 *@FilePath: /CasaOS/model/disk.go *@Description: *@Website: https://www.casaos.io *Copyright (c) 2022 by icewhale, All Rights Reserved.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CommonModel ¶
type CommonModel struct {
RuntimePath string
}
type DFDiskSpace ¶ added in v0.4.1
type DiskStatus ¶
type Drive ¶
type Drive struct { Name string `json:"name"` Size uint64 `json:"size"` Model string `json:"model"` Health string `json:"health"` Temperature int `json:"temperature"` DiskType string `json:"disk_type"` NeedFormat bool `json:"need_format"` Serial string `json:"serial"` Path string `json:"path"` ChildrenNumber int `json:"children_number"` }
type LSBLKModel ¶
type LSBLKModel struct { Name string `json:"name"` FsType string `json:"fstype"` Size uint64 `json:"size"` FSSize json.Number `json:"fssize"` Path string `json:"path"` Model string `json:"model"` // 设备标识符 RM bool `json:"rm"` // 是否为可移动设备 RO bool `json:"ro"` // 是否为只读设备 State string `json:"state"` PhySec int `json:"phy-sec"` // 物理扇区大小 Type string `json:"type"` Vendor string `json:"vendor"` // 供应商 Rev string `json:"rev"` // 修订版本 FSAvail json.Number `json:"fsavail"` // 可用空间 FSUse string `json:"fsuse%"` // 已用百分比 MountPoint string `json:"mountpoint"` Format string `json:"format"` Health string `json:"health"` HotPlug bool `json:"hotplug"` UUID string `json:"uuid"` PTUUID string `json:"ptuuid"` PartUUID string `json:"partuuid"` FSUsed json.Number `json:"fsused"` Temperature int `json:"temperature"` Tran string `json:"tran"` MinIO uint64 `json:"min-io"` UsedPercent float64 `json:"used_percent"` Serial string `json:"serial"` Children []LSBLKModel `json:"children"` SubSystems string `json:"subsystems"` Label string `json:"label"` // 详情特有 StartSector uint64 `json:"start_sector,omitempty"` Rota bool `json:"rota"` // true(hhd) false(ssd) DiskType string `json:"disk_type"` EndSector uint64 `json:"end_sector,omitempty"` }
func (*LSBLKModel) GetMountPoint ¶
func (m *LSBLKModel) GetMountPoint(name string) string
type SmartctlA ¶
type SmartctlA struct { Smartctl struct { Version []int `json:"version"` SvnRevision string `json:"svn_revision"` PlatformInfo string `json:"platform_info"` BuildInfo string `json:"build_info"` Argv []string `json:"argv"` ExitStatus int `json:"exit_status"` Messages []struct { String string `json:"string"` Severity string `json:"severity"` } `json:"messages"` } `json:"smartctl"` Device struct { Name string `json:"name"` InfoName string `json:"info_name"` Type string `json:"type"` Protocol string `json:"protocol"` } `json:"device"` ModelName string `json:"model_name"` SerialNumber string `json:"serial_number"` FirmwareVersion string `json:"firmware_version"` UserCapacity struct { Blocks int `json:"blocks"` Bytes int64 `json:"bytes"` } `json:"user_capacity"` SmartStatus struct { Passed bool `json:"passed"` } `json:"smart_status"` AtaSmartData struct { OfflineDataCollection struct { Status struct { Value int `json:"value"` String string `json:"string"` } `json:"status"` CompletionSeconds int `json:"completion_seconds"` } `json:"offline_data_collection"` SelfTest struct { Status struct { Value int `json:"value"` String string `json:"string"` Passed bool `json:"passed"` } `json:"status"` PollingMinutes struct { Short int `json:"short"` Extended int `json:"extended"` Conveyance int `json:"conveyance"` } `json:"polling_minutes"` } `json:"self_test"` Capabilities struct { Values []int `json:"values"` ExecOfflineImmediateSupported bool `json:"exec_offline_immediate_supported"` OfflineIsAbortedUponNewCmd bool `json:"offline_is_aborted_upon_new_cmd"` OfflineSurfaceScanSupported bool `json:"offline_surface_scan_supported"` SelfTestsSupported bool `json:"self_tests_supported"` ConveyanceSelfTestSupported bool `json:"conveyance_self_test_supported"` SelectiveSelfTestSupported bool `json:"selective_self_test_supported"` AttributeAutosaveEnabled bool `json:"attribute_autosave_enabled"` ErrorLoggingSupported bool `json:"error_logging_supported"` GpLoggingSupported bool `json:"gp_logging_supported"` } `json:"capabilities"` } `json:"ata_smart_data"` PowerOnTime struct { Hours int `json:"hours"` } `json:"power_on_time"` PowerCycleCount int `json:"power_cycle_count"` Temperature struct { Current int `json:"current"` } `json:"temperature"` }
type Storage ¶
type Storage struct { UUID string `json:"uuid"` MountPoint string `json:"mount_point"` Size string `json:"size"` Avail string `json:"avail"` // 可用空间 Type string `json:"type"` Path string `json:"path"` DriveName string `json:"drive_name"` Label string `json:"label"` PersistedIn string `json:"persisted_in"` // none, fstab, casaos }
type USBChildren ¶
type USBDriveStatus ¶
type USBDriveStatus struct { Name string `json:"name"` Size uint64 `json:"size"` Model string `json:"model"` Avail uint64 `json:"avail"` Children []USBChildren `json:"children"` }
Click to show internal directories.
Click to hide internal directories.