Documentation
¶
Index ¶
- Constants
- Variables
- func CheckAPIAccessCaps(ticket *cryptoutil.Ticket, rscType string, mp MsgType, action string) (err error)
- func CheckVOLAccessCaps(ticket *cryptoutil.Ticket, volName string, action string, accessNode string) (err error)
- func DumpVersion(role string) string
- func ExtractAPIAccessTicket(req *APIAccessReq, key []byte) (ticket cryptoutil.Ticket, ts int64, err error)
- func ExtractIDAndAuthKey(authIDKey string) (id string, authKey []byte, err error)
- func ExtractTicket(str string, key []byte) (ticket cryptoutil.Ticket, err error)
- func GenAuthIDKey(id string, authKey []byte) (authIDKey string, err error)
- func GenerateRequestID() int64
- func GetDataFromResp(body []byte, key []byte) (plaintext []byte, err error)
- func GetDpType(volType int, isPreload bool) int
- func GetHttpTransporter(cfg *HttpCfg) *http.Transport
- func GetMaskString(mask TxOpMask) (maskStr string)
- func GetStatusStr(status uint8) string
- func InitBufferPool(bufLimit int64)
- func InitBufferPoolEx(bufLimit int64, chanSize int)
- func InitMountOptions(opts []MountOption)
- func IsAncestor(parent, child string) bool
- func IsCacheDp(typ int) bool
- func IsCold(typ int) bool
- func IsDir(mode uint32) bool
- func IsHot(typ int) bool
- func IsNormalDp(typ int) bool
- func IsNormalExtentType(extentType uint8) bool
- func IsPreLoadDp(typ int) bool
- func IsRegular(mode uint32) bool
- func IsS3PutApi(api string) bool
- func IsSymlink(mode uint32) bool
- func IsTinyExtentType(extentType uint8) bool
- func IsValidAK(ak string) bool
- func IsValidClientID(id string) (err error)
- func IsValidMsgReqType(serviceID string, msgType MsgType) (err error)
- func IsValidSK(sk string) bool
- func IsValidServiceID(serviceID string) (err error)
- func MaskContains(mask TxOpMask, subMask TxOpMask) bool
- func MergeSplitKey(inodeID uint64, ekRefMap *sync.Map, sMap *sync.Map) (err error)
- func Mode(osMode os.FileMode) uint32
- func OsMode(mode uint32) os.FileMode
- func OsModeType(mode uint32) os.FileMode
- func ParseErrorCode(code int32) error
- func ParseFromId(sID uint64) (dpID uint64, extID uint64)
- func ParseMountOptions(opts []MountOption, cfg *config.Config)
- func ParseVerifier(verifier string, key []byte) (ts int64, err error)
- func QosTypeString(factorType uint32) string
- func ReadFull(c net.Conn, buf *[]byte, readSize int) (err error)
- func SendBytes(client *http.Client, target string, data []byte) (res []byte, err error)
- func SendData(client *http.Client, target string, data interface{}) (res []byte, err error)
- func TxMaskToType(mask TxOpMask) (txType uint32)
- func UnmarshalHTTPReply(body []byte, result interface{}) error
- func VerifyAPIAccessReqIDs(req *APIAccessReq) (err error)
- func VerifyAPIRespComm(apiResp *APIAccessResp, msg MsgType, clientID string, serviceID string, ...) (err error)
- func VerifyTicketRespComm(ticketResp *AuthGetTicketResp, msg MsgType, clientID string, serviceID string, ...) (err error)
- type AKUser
- type APIAccessReq
- type APIAccessResp
- type AclIpInfo
- type AclRsp
- type Action
- type Actions
- type AddDataPartitionRaftMemberRequest
- type AddMetaPartitionRaftMemberRequest
- type AddMultipartPartRequest
- type AdminTask
- func (t *AdminTask) CheckTaskNeedSend() (needRetry bool)
- func (t *AdminTask) CheckTaskTimeOut() (notResponse bool)
- func (t *AdminTask) IdString() string
- func (t *AdminTask) IsHeartbeatTask() bool
- func (t *AdminTask) IsTaskFailed() (isFail bool)
- func (t *AdminTask) IsTaskSuccessful() (isSuccess bool)
- func (t *AdminTask) IsUrgentTask() bool
- func (t *AdminTask) SetStatus(status int8)
- func (t *AdminTask) ToString() (msg string)
- type AppendExtentKeyRequest
- type AppendExtentKeyWithCheckRequest
- type AppendExtentKeysRequest
- type AppendMultipartResponse
- type AppendObjExtentKeysRequest
- type AuthAPIAccessReq
- type AuthAPIAccessResp
- type AuthGetTicketReq
- type AuthGetTicketResp
- type AuthOSAccessKeyReq
- type AuthOSAccessKeyResp
- type AuthRaftNodeInfo
- type AuthRaftNodeReq
- type AuthRaftNodeResp
- type BackupDataPartitionInfo
- type BadDiskInfo
- type BadDiskInfos
- type BadDiskRecoverProgress
- type BadDiskStat
- type BadPartitionRepairView
- type BadPartitionView
- type BadReplicaMetaInfo
- type BadReplicaMetaResponse
- type BatchDeleteDentryRequest
- type BatchDeleteDentryResponse
- type BatchDeleteMetaserverQuotaResponse
- type BatchDeleteMetaserverQuotaReuqest
- type BatchDentries
- type BatchEvictInodeRequest
- type BatchGetXAttrRequest
- type BatchGetXAttrResponse
- type BatchInodeGetRequest
- type BatchInodeGetResponse
- type BatchSetMetaserverQuotaResponse
- type BatchSetMetaserverQuotaReuqest
- type BatchSetXAttrRequest
- type BatchUnlinkInodeRequest
- type BatchUnlinkInodeResponse
- type Blob
- type ClearInodeCacheRequest
- type ClearInodeCacheResponse
- type ClientLimitInfo
- type ClientReportLimitInfo
- type ClusterIP
- type ClusterInfo
- type ClusterNodeInfo
- type ClusterStatInfo
- type ClusterView
- type CreateDataPartitionRequest
- type CreateDataPartitionResponse
- type CreateDentryRequest
- type CreateInodeRequest
- type CreateInodeResponse
- type CreateMetaPartitionRequest
- type CreateMetaPartitionResponse
- type CreateMultipartRequest
- type CreateMultipartResponse
- type CreateNameSpaceRequest
- type CreateNameSpaceResponse
- type DataDecommissionProgress
- type DataNodeDisksRequest
- type DataNodeDisksResponse
- type DataNodeHeartbeatResponse
- type DataNodeInfo
- type DataNodeQosResponse
- type DataPartitionDecommissionRequest
- type DataPartitionDiagnosis
- type DataPartitionDiskInfo
- type DataPartitionInfo
- type DataPartitionReport
- type DataPartitionResponse
- type DataPartitionsView
- type DataReplica
- type DecommissionDataPartitionInfo
- type DecommissionDiskInfo
- type DecommissionDiskLimitDetail
- type DecommissionDisksResponse
- type DecommissionFailedDiskInfo
- type DecommissionProgress
- type DecommissionTokenStatus
- type DecommissionedDisks
- type DelExtentKeyRequest
- type DelExtentParam
- type DelVerRequest
- type DeleteBackupDirectoriesRequest
- type DeleteDataPartitionRequest
- type DeleteDataPartitionResponse
- type DeleteDentryRequest
- type DeleteDentryResponse
- type DeleteFileRequest
- type DeleteFileResponse
- type DeleteInodeBatchRequest
- type DeleteInodeRequest
- type DeleteMetaPartitionRequest
- type DeleteMetaPartitionResponse
- type Dentry
- type DentryInfo
- type DetryInfo
- type DiscardDataPartitionInfos
- type DiskErrPartitionView
- type DiskErrReplicaInfo
- type DomainNodeSetGrpInfoList
- type DpRepairInfo
- type EmptyExtentKeyRequest
- type EvictInodeRequest
- type ExpirationConfig
- type ExpiredMultipartInfo
- type ExtSnapInfo
- type ExtentKey
- func (k *ExtentKey) AddModGen()
- func (k *ExtentKey) CheckSum(v3 bool) uint32
- func (k *ExtentKey) Copy() btree.Item
- func (k *ExtentKey) Equals(ek *ExtentKey) bool
- func (k *ExtentKey) GenerateId() uint64
- func (k *ExtentKey) GetExtentKey() (m string)
- func (k *ExtentKey) GetModGen() uint64
- func (k *ExtentKey) GetSeq() uint64
- func (k *ExtentKey) IsCoveredWithDiffSeq(rightKey *ExtentKey) bool
- func (k *ExtentKey) IsEqual(rightKey *ExtentKey) bool
- func (k *ExtentKey) IsFileInSequence(rightKey *ExtentKey) bool
- func (k *ExtentKey) IsSameExtent(rightKey *ExtentKey) bool
- func (k *ExtentKey) IsSequenceWithDiffSeq(rightKey *ExtentKey) bool
- func (k *ExtentKey) IsSequenceWithSameSeq(rightKey *ExtentKey) bool
- func (k *ExtentKey) IsSplit() bool
- func (k *ExtentKey) Less(than btree.Item) bool
- func (k *ExtentKey) Marshal() (m string)
- func (k *ExtentKey) MarshalBinary(v3 bool) ([]byte, error)
- func (k *ExtentKey) MarshalBinaryExt(data []byte)
- func (k *ExtentKey) MarshalBinaryWithCheckSum(v3 bool) ([]byte, error)
- func (k *ExtentKey) SetSeq(seq uint64)
- func (k *ExtentKey) SetSplit(split bool)
- func (k ExtentKey) String() string
- func (k *ExtentKey) UnMarshal(m string) (err error)
- func (k *ExtentKey) UnmarshalBinary(buf *bytes.Buffer, v3 bool) (err error)
- func (k *ExtentKey) UnmarshalBinaryWithCheckSum(buf *bytes.Buffer) (err error)
- type FailedDpInfo
- type File
- type FileInCore
- type FileMetadata
- type FilterConfig
- type GcFlag
- type GcLockExtents
- type GeneralResp
- type GetAllXAttrRequest
- type GetAllXAttrResponse
- type GetExpiredMultipartRequest
- type GetExpiredMultipartResponse
- type GetExtentsRequest
- type GetExtentsResponse
- type GetInodeQuotaRequest
- type GetInodeQuotaResponse
- type GetMultipartRequest
- type GetMultipartResponse
- type GetObjExtentsResponse
- type GetUniqIDRequest
- type GetUniqIDResponse
- type GetXAttrRequest
- type GetXAttrResponse
- type HTTPAuthReply
- type HTTPReply
- type HTTPReplyRaw
- func (raw *HTTPReplyRaw) Bytes() []byte
- func (raw *HTTPReplyRaw) Int64() (int64, error)
- func (raw *HTTPReplyRaw) Result(result interface{}) error
- func (raw *HTTPReplyRaw) String() string
- func (raw *HTTPReplyRaw) Success() error
- func (raw *HTTPReplyRaw) Uint64() (uint64, error)
- func (raw *HTTPReplyRaw) Unmarshal(body []byte) error
- type HeartBeatRequest
- type HttpCfg
- type IgnoreDecommissionDP
- type InodeAccessTime
- type InodeGetAccessTimeResponse
- type InodeGetRequest
- type InodeGetResponse
- type InodeGetSplitRequest
- type InodeGetSplitResponse
- type InodeGetWithPersistAccessTimeResponse
- type InodeInfo
- type InodeSplitInfo
- type LayerInfo
- type LcConfiguration
- type LcNodeHeartbeatResponse
- type LcNodeRuleTaskRequest
- type LcNodeRuleTaskResponse
- type LcNodeRuleTaskStatistics
- type LimitRsp2Client
- type LinkInodeRequest
- type LinkInodeResponse
- type ListMasterQuotaResponse
- type ListMultipartRequest
- type ListMultipartResponse
- type ListXAttrRequest
- type ListXAttrResponse
- type LoadDataPartitionRequest
- type LoadDataPartitionResponse
- type LoadMetaPartitionMetricRequest
- type LoadMetaPartitionMetricResponse
- type LockDirRequest
- type LockDirResponse
- type LookupRequest
- type LookupResponse
- type MasterAPIAccessResp
- type MetaNodeHeartbeatResponse
- type MetaNodeInfo
- type MetaPartitionDecommissionRequest
- type MetaPartitionDecommissionResponse
- type MetaPartitionDiagnosis
- type MetaPartitionInfo
- type MetaPartitionLoadRequest
- type MetaPartitionLoadResponse
- type MetaPartitionReport
- type MetaPartitionView
- type MetaQuotaInfo
- type MetaQuotaInfos
- type MetaReplicaInfo
- type MountOption
- type MountOptions
- type MsgType
- type MultiVersionOpRequest
- type MultiVersionOpResponse
- type MultipartInfo
- type MultipartPartInfo
- type NodeSetInfo
- type NodeSetStat
- type NodeSetStatInfo
- type NodeSetView
- type NodeStatInfo
- type NodeStatView
- type NodeView
- type Nonce
- type OSSSecure
- type ObjExtentKey
- func (k *ObjExtentKey) Copy() btree.Item
- func (k *ObjExtentKey) IsEquals(obj *ObjExtentKey) bool
- func (k *ObjExtentKey) Less(than btree.Item) bool
- func (k *ObjExtentKey) MarshalBinary() ([]byte, error)
- func (k ObjExtentKey) String() string
- func (k *ObjExtentKey) UnmarshalBinary(buf *bytes.Buffer) (err error)
- type OpLog
- type Packet
- func (p *Packet) AddMesgLog(m string)
- func (p *Packet) GetCopy() *Packet
- func (p *Packet) GetOpMsg() (m string)
- func (p *Packet) GetOpMsgWithReqAndResult() (m string)
- func (p *Packet) GetReqID() int64
- func (p *Packet) GetResultMsg() (m string)
- func (p *Packet) GetStoreType() (m string)
- func (p *Packet) GetUniqueLogId() (m string)
- func (p *Packet) IsBatchDeleteExtents() bool
- func (p *Packet) IsBatchLockNormalExtents() bool
- func (p *Packet) IsBatchUnlockNormalExtents() bool
- func (p *Packet) IsForwardPkt() bool
- func (p *Packet) IsRandomWrite() bool
- func (p *Packet) IsReadOperation() bool
- func (p *Packet) IsVersionList() bool
- func (p *Packet) IsWriteOperation() bool
- func (p *Packet) LogMessage(action, remote string, start int64, err error) (m string)
- func (p *Packet) MarshalData(v interface{}) error
- func (p *Packet) MarshalHeader(out []byte)
- func (p *Packet) MarshalVersionSlice() (data []byte, err error)
- func (p *Packet) PacketErrorWithBody(code uint8, reply []byte)
- func (p *Packet) PacketOkReply()
- func (p *Packet) PacketOkWithBody(reply []byte)
- func (p *Packet) PacketOkWithByte(reply []byte)
- func (p *Packet) ReadFromConn(c net.Conn, timeoutSec int) (err error)
- func (p *Packet) ReadFromConnWithVer(c net.Conn, timeoutSec int) (err error)
- func (p *Packet) SetPacketHasPrepare()
- func (p *Packet) SetPacketRePrepare()
- func (p *Packet) ShouldRetry() bool
- func (p *Packet) ShouldRetryWithVersionList() bool
- func (p *Packet) String() string
- func (p *Packet) UnmarshalData(v interface{}) error
- func (p *Packet) UnmarshalHeader(in []byte) error
- func (p *Packet) UnmarshalVersionSlice(cnt int, d []byte) error
- func (p *Packet) WriteToConn(c net.Conn) (err error)
- func (p *Packet) WriteToNoDeadLineConn(c net.Conn) (err error)
- type Peer
- type Permission
- type QosToDataNode
- type QuotaCreateDentryRequest
- type QuotaCreateInodeRequest
- type QuotaHeartBeatInfo
- type QuotaHeartBeatInfos
- type QuotaInfo
- type QuotaLimitedInfo
- type QuotaPathInfo
- type QuotaReportInfo
- type QuotaUsedInfo
- type ReadDirLimitRequest
- type ReadDirLimitResponse
- type ReadDirOnlyRequest
- type ReadDirOnlyResponse
- type ReadDirRequest
- type ReadDirResponse
- type RecoverBackupDataReplicaRequest
- type RecoverBadDiskRequest
- type RecoverDataReplicaMetaRequest
- type RegisterMetaNodeResp
- type RemoveDataPartitionRaftMemberRequest
- type RemoveMetaPartitionRaftMemberRequest
- type RemoveMultipartRequest
- type RemoveXAttrRequest
- type RequestExtend
- type Rule
- type RuleTask
- type S3QoSResponse
- type S3QosRequest
- type ScanDentry
- type ServiceID
- type SetAttrRequest
- type SetMasterQuotaReuqest
- type SetXAttrRequest
- type SimpleExtInfo
- type SimpleNodeSetGrpInfo
- type SimpleNodeSetGrpInfoList
- type SimpleVolView
- type SnapshotStatistics
- type SnapshotVerDelTask
- type SnapshotVerDelTaskRequest
- type SnapshotVerDelTaskResponse
- type StopDataPartitionRepairRequest
- type StopDataPartitionRepairResponse
- type SummaryInfo
- type TinyExtentDeleteRecord
- type TopologyView
- type TransactionInfo
- func (tx *TransactionInfo) CanDelete() bool
- func (txInfo *TransactionInfo) Copy() btree.Item
- func (tx *TransactionInfo) Finish() bool
- func (txInfo *TransactionInfo) GetCopy() *TransactionInfo
- func (txInfo *TransactionInfo) GetInfo() string
- func (tx *TransactionInfo) GroupByMp() map[uint64]*TxMpInfo
- func (tx *TransactionInfo) IsDone() bool
- func (txInfo *TransactionInfo) IsExpired() (expired bool)
- func (txInfo *TransactionInfo) IsInitialized() bool
- func (txInfo *TransactionInfo) Less(than btree.Item) bool
- func (txInfo *TransactionInfo) Marshal() (result []byte, err error)
- func (tx *TransactionInfo) NeedClearOrphan() bool
- func (tx *TransactionInfo) SetCreateInodeId(ino uint64)
- func (tx *TransactionInfo) SetFinish()
- func (txInfo *TransactionInfo) String() string
- func (txInfo *TransactionInfo) Unmarshal(raw []byte) (err error)
- type TruncateRequest
- type TxApplyRMRequest
- type TxApplyRequest
- type TxCreateDentryRequest
- type TxCreateDentryResponse
- type TxCreateInodeRequest
- type TxCreateInodeResponse
- type TxCreateRequest
- type TxCreateResponse
- type TxDeleteDentryRequest
- type TxDeleteDentryResponse
- type TxDentryApplyRequest
- type TxDentryInfo
- func (info *TxDentryInfo) GetKey() string
- func (info *TxDentryInfo) GetTxId() (string, error)
- func (info *TxDentryInfo) Marshal() (result []byte, err error)
- func (info *TxDentryInfo) SetCreateTime(createTime int64)
- func (info *TxDentryInfo) SetTimeout(timeout int64)
- func (info *TxDentryInfo) SetTxId(txID string)
- func (info *TxDentryInfo) String() string
- func (info *TxDentryInfo) Unmarshal(raw []byte) (err error)
- type TxGetInfoRequest
- type TxGetInfoResponse
- type TxInfo
- type TxInfos
- type TxInodeApplyRequest
- type TxInodeInfo
- func (info *TxInodeInfo) GetKey() uint64
- func (info *TxInodeInfo) Marshal() (result []byte, err error)
- func (info *TxInodeInfo) SetCreateTime(createTime int64)
- func (info *TxInodeInfo) SetTimeout(timeout int64)
- func (info *TxInodeInfo) SetTxId(txID string)
- func (info *TxInodeInfo) String() string
- func (info *TxInodeInfo) Unmarshal(raw []byte) (err error)
- type TxLinkInodeRequest
- type TxLinkInodeResponse
- type TxMpInfo
- type TxOpMask
- type TxPack
- type TxSetStateRequest
- type TxUnlinkInodeRequest
- type TxUnlinkInodeResponse
- type TxUpdateDentryRequest
- type TxUpdateDentryResponse
- type UidLimitToMetaNode
- type UidReportSpaceInfo
- type UidSimpleInfo
- type UidSpaceInfo
- type UidSpaceRsp
- type UnlinkInodeRequest
- type UnlinkInodeResponse
- type UpdateDentryRequest
- type UpdateDentryResponse
- type UpdateMasterQuotaReuqest
- type UpdateMetaPartitionRequest
- type UpdateMetaPartitionResponse
- type UpdateSummaryInfoRequest
- type UpdateXAttrRequest
- type UserCreateParam
- type UserInfo
- type UserLimitConf
- type UserPermRemoveParam
- type UserPermUpdateParam
- type UserPolicy
- func (policy *UserPolicy) Add(addPolicy *UserPolicy)
- func (policy *UserPolicy) AddAuthorizedVol(volume string, policies []string)
- func (policy *UserPolicy) AddOwnVol(volume string)
- func (policy *UserPolicy) Delete(deletePolicy *UserPolicy)
- func (policy *UserPolicy) IsAuthorized(volume, subdir string, action Action) bool
- func (policy *UserPolicy) IsAuthorizedS3(volume, api string) bool
- func (policy *UserPolicy) IsOwn(volume string) bool
- func (policy *UserPolicy) RemoveAuthorizedVol(volume string)
- func (policy *UserPolicy) RemoveOwnVol(volume string)
- func (policy *UserPolicy) SetActions(volume string, actions Actions)
- func (policy *UserPolicy) SetPerm(volume string, perm Permission)
- type UserTransferVolParam
- type UserType
- type UserUpdateParam
- type VersionInfo
- type VolInfo
- type VolStatInfo
- type VolUser
- type VolVersionInfo
- type VolVersionInfoList
- type VolView
- type VolumeVerInfo
- type VolumeVerStrategy
- type XAttrInfo
- type ZoneNodesStat
- type ZoneStat
- type ZoneView
Constants ¶
const ( // Admin APIs AdminGetMasterApiList = "/admin/getMasterApiList" AdminSetApiQpsLimit = "/admin/setApiQpsLimit" AdminGetApiQpsLimit = "/admin/getApiQpsLimit" AdminRemoveApiQpsLimit = "/admin/rmApiQpsLimit" AdminGetCluster = "/admin/getCluster" AdminSetClusterInfo = "/admin/setClusterInfo" AdminGetMonitorPushAddr = "/admin/getMonitorPushAddr" AdminGetClusterDataNodes = "/admin/cluster/getAllDataNodes" AdminGetClusterMetaNodes = "/admin/cluster/getAllMetaNodes" AdminGetDataPartition = "/dataPartition/get" AdminLoadDataPartition = "/dataPartition/load" AdminCreateDataPartition = "/dataPartition/create" AdminCreatePreLoadDataPartition = "/dataPartition/createPreLoad" AdminDecommissionDataPartition = "/dataPartition/decommission" AdminDiagnoseDataPartition = "/dataPartition/diagnose" AdminResetDataPartitionDecommissionStatus = "/dataPartition/resetDecommissionStatus" AdminQueryDataPartitionDecommissionStatus = "/dataPartition/queryDecommissionStatus" AdminCheckReplicaMeta = "/dataPartition/checkReplicaMeta" AdminRecoverReplicaMeta = "/dataPartition/recoverReplicaMeta" AdminRecoverBackupDataReplica = "/dataPartition/recoverBackupDataReplica" AdminDeleteDataReplica = "/dataReplica/delete" AdminAddDataReplica = "/dataReplica/add" AdminDeleteVol = "/vol/delete" AdminUpdateVol = "/vol/update" AdminVolShrink = "/vol/shrink" AdminVolExpand = "/vol/expand" AdminVolForbidden = "/vol/forbidden" AdminVolEnableAuditLog = "/vol/auditlog" AdminVolSetDpRepairBlockSize = "/vol/setDpRepairBlockSize" AdminCreateVol = "/admin/createVol" AdminGetVol = "/admin/getVol" AdminClusterFreeze = "/cluster/freeze" AdminClusterForbidMpDecommission = "/cluster/forbidMetaPartitionDecommission" AdminClusterStat = "/cluster/stat" AdminSetCheckDataReplicasEnable = "/cluster/setCheckDataReplicasEnable" AdminGetIP = "/admin/getIp" AdminCreateMetaPartition = "/metaPartition/create" AdminSetMetaNodeThreshold = "/threshold/set" AdminSetMasterVolDeletionDelayTime = "/volDeletionDelayTime/set" AdminListVols = "/vol/list" AdminSetNodeInfo = "/admin/setNodeInfo" AdminGetNodeInfo = "/admin/getNodeInfo" AdminGetAllNodeSetGrpInfo = "/admin/getDomainInfo" AdminGetNodeSetGrpInfo = "/admin/getDomainNodeSetGrpInfo" AdminGetIsDomainOn = "/admin/getIsDomainOn" AdminUpdateNodeSetCapcity = "/admin/updateNodeSetCapcity" AdminUpdateNodeSetId = "/admin/updateNodeSetId" AdminUpdateNodeSetNodeSelector = "/admin/updateNodeSetNodeSelector" AdminUpdateDomainDataUseRatio = "/admin/updateDomainDataRatio" AdminUpdateZoneExcludeRatio = "/admin/updateZoneExcludeRatio" AdminSetNodeRdOnly = "/admin/setNodeRdOnly" AdminSetDpRdOnly = "/admin/setDpRdOnly" AdminSetConfig = "/admin/setConfig" AdminGetConfig = "/admin/getConfig" AdminDataPartitionChangeLeader = "/dataPartition/changeleader" AdminChangeMasterLeader = "/master/changeleader" AdminOpFollowerPartitionsRead = "/master/opFollowerPartitionRead" AdminUpdateDecommissionLimit = "/admin/updateDecommissionLimit" AdminQueryDecommissionLimit = "/admin/queryDecommissionLimit" AdminQueryDecommissionFailedDisk = "/admin/queryDecommissionFailedDisk" AdminAbortDecommissionDisk = "/admin/abortDecommissionDisk" AdminResetDataPartitionRestoreStatus = "/admin/resetDataPartitionRestoreStatus" // #nosec G101 AdminQueryDecommissionToken = "/admin/queryDecommissionToken" AdminSetFileStats = "/admin/setFileStatsEnable" AdminGetFileStats = "/admin/getFileStatsEnable" AdminGetClusterValue = "/admin/getClusterValue" AdminSetClusterUuidEnable = "/admin/setClusterUuidEnable" AdminGetClusterUuid = "/admin/getClusterUuid" AdminGenerateClusterUuid = "/admin/generateClusterUuid" AdminSetDpDiscard = "/admin/setDpDiscard" AdminGetDiscardDp = "/admin/getDiscardDp" AdminSetConLcNodeNum = "/admin/setConLcNodeNum" AdminGetAllLcNodeInfo = "/admin/getAllLcNodeInfo" AdminLcNode = "/admin/lcnode" AdminUpdateDecommissionDiskLimit = "/admin/updateDecommissionDiskLimit" AdminEnableAutoDecommissionDisk = "/admin/enableAutoDecommissionDisk" AdminQueryAutoDecommissionDisk = "/admin/queryAutoDecommissionDisk" // graphql master api AdminClusterAPI = "/api/cluster" AdminUserAPI = "/api/user" AdminVolumeAPI = "/api/volume" AdminSetDiskBrokenThreshold = "/admin/setDiskBrokenThreshold" AdminQueryDiskBrokenThreshold = "/admin/queryDiskBrokenThreshold" // graphql coonsole api ConsoleIQL = "/iql" ConsoleLoginAPI = "/login" ConsoleMonitorAPI = "/cfs_monitor" ConsoleFile = "/file" ConsoleFileDown = "/file/down" ConsoleFileUpload = "/file/upload" // Client APIs ClientDataPartitions = "/client/partitions" ClientVol = "/client/vol" ClientMetaPartition = "/metaPartition/get" ClientVolStat = "/client/volStat" ClientMetaPartitions = "/client/metaPartitions" // qos api QosGetStatus = "/qos/getStatus" QosGetClientsLimitInfo = "/qos/getClientsInfo" QosGetZoneLimitInfo = "/qos/getZoneLimit" // include disk enable QosUpdate = "/qos/update" // include disk enable QosUpdateMagnify = "/qos/updateMagnify" QosUpdateClientParam = "/qos/updateClientParam" QosUpdateZoneLimit = "/qos/updateZoneLimit" // include disk enable QosUpload = "/admin/qosUpload" QosUpdateMasterLimit = "/qos/masterLimit" // acl api AdminACL = "/admin/aclOp" // uid api AdminUid = "/admin/uidOp" // raft node APIs AddRaftNode = "/raftNode/add" RemoveRaftNode = "/raftNode/remove" RaftStatus = "/get/raftStatus" AddDataNode = "/dataNode/add" DecommissionDataNode = "/dataNode/decommission" QueryDataNodeDecoProgress = "/dataNode/queryDecommissionProgress" QueryDataNodeDecoFailedDps = "/dataNode/queryDecommissionFailedDps" MigrateDataNode = "/dataNode/migrate" PauseDecommissionDataNode = "/dataNode/pauseDecommission" CancelDecommissionDataNode = "/dataNode/cancelDecommission" ResetDecommissionDataNodeStatus = "/dataNode/resetDecommissionStatus" DecommissionDisk = "/disk/decommission" RecommissionDisk = "/disk/recommission" QueryDiskDecoProgress = "/disk/queryDecommissionProgress" DeleteDecommissionDiskRecord = "/disk/deleteDecommissionDiskRecord" PauseDecommissionDisk = "/disk/pauseDecommission" CancelDecommissionDisk = "/disk/cancelDecommission" ResetDecommissionDiskStatus = "/disk/resetDecommissionStatus" QueryDecommissionDiskDecoFailedDps = "/disk/queryDecommissionFailedDps" QueryBadDisks = "/disk/queryBadDisks" RestoreStoppedAutoDecommissionDisk = "/disk/restoreStoppedAutoDecommissionDisk" QueryAllDecommissionDisk = "/disk/queryAllDecommissionDisk" RecoverBadDisk = "/disk/recoverBadDisk" QueryBadDiskRecoverProgress = "/disk/queryBadDiskRecoverProgress" DeleteBackupDirectories = "/disk/deleteBackupDirectories" QueryBackupDirectories = "/disk/queryBackupDirectories" GetDataNode = "/dataNode/get" AddMetaNode = "/metaNode/add" DecommissionMetaNode = "/metaNode/decommission" MigrateMetaNode = "/metaNode/migrate" GetMetaNode = "/metaNode/get" AdminUpdateMetaNode = "/metaNode/update" AdminUpdateDataNode = "/dataNode/update" AdminGetInvalidNodes = "/invalid/nodes" AdminLoadMetaPartition = "/metaPartition/load" AdminDiagnoseMetaPartition = "/metaPartition/diagnose" AdminDecommissionMetaPartition = "/metaPartition/decommission" AdminChangeMetaPartitionLeader = "/metaPartition/changeleader" AdminBalanceMetaPartitionLeader = "/metaPartition/balanceLeader" AdminAddMetaReplica = "/metaReplica/add" AdminDeleteMetaReplica = "/metaReplica/delete" AdminPutDataPartitions = "/dataPartitions/set" // admin multi version snapshot AdminCreateVersion = "/multiVer/create" AdminDelVersion = "/multiVer/del" AdminGetVersionInfo = "/multiVer/get" AdminGetAllVersionInfo = "/multiVer/getAll" AdminGetVolVer = "/vol/getVer" AdminSetVerStrategy = "/vol/SetVerStrategy" // S3 lifecycle configuration APIS SetBucketLifecycle = "/s3/setLifecycle" GetBucketLifecycle = "/s3/getLifecycle" DeleteBucketLifecycle = "/s3/deleteLifecycle" AddLcNode = "/lcNode/add" QueryDisableDisk = "/dataNode/queryDisableDisk" // Operation response GetMetaNodeTaskResponse = "/metaNode/response" // Method: 'POST', ContentType: 'application/json' GetDataNodeTaskResponse = "/dataNode/response" // Method: 'POST', ContentType: 'application/json' GetLcNodeTaskResponse = "/lcNode/response" // Method: 'POST', ContentType: 'application/json' GetTopologyView = "/topo/get" UpdateZone = "/zone/update" GetAllZones = "/zone/list" GetAllNodeSets = "/nodeSet/list" GetNodeSet = "/nodeSet/get" UpdateNodeSet = "/nodeSet/update" // Header keys SkipOwnerValidation = "Skip-Owner-Validation" ForceDelete = "Force-Delete" // APIs for user management UserCreate = "/user/create" UserDelete = "/user/delete" UserUpdate = "/user/update" UserUpdatePolicy = "/user/updatePolicy" UserRemovePolicy = "/user/removePolicy" UserDeleteVolPolicy = "/user/deleteVolPolicy" UserGetInfo = "/user/info" UserGetAKInfo = "/user/akInfo" UserTransferVol = "/user/transferVol" UserList = "/user/list" UsersOfVol = "/vol/users" // graphql api for header HeadAuthorized = "Authorization" ParamAuthorized = "_authorization" UserKey = "_user_key" UserInfoKey = "_user_info_key" // quota QuotaCreate = "/quota/create" QuotaUpdate = "/quota/update" QuotaDelete = "/quota/delete" QuotaList = "/quota/list" QuotaGet = "/quota/get" // QuotaBatchModifyPath = "/quota/batchModifyPath" QuotaListAll = "/quota/listAll" // trash AdminSetTrashInterval = "/vol/setTrashInterval" AdminSetVolAccessTimeValidInterval = "/vol/setAccessTimeValidInterval" // s3 qos api S3QoSSet = "/s3/qos/set" S3QoSGet = "/s3/qos/get" S3QoSDelete = "/s3/qos/delete" AdminEnablePersistAccessTime = "/vol/enablePersistAccessTime" )
api
const ( TimeFormat = "2006-01-02 15:04:05" DefaultDirChildrenNumLimit = 20000000 MinDirChildrenNumLimit = 1000000 )
const ( QosStateNormal uint8 = 0x01 QosStateHitLimit uint8 = 0x02 MinIopsLimit uint64 = 3 MinFLowLimit uint64 = 128 * util.KB )
const ( IopsReadType uint32 = 0x01 IopsWriteType uint32 = 0x02 FlowReadType uint32 = 0x03 FlowWriteType uint32 = 0x04 )
const ( QosDefaultBurst = 1600000 QosDefaultClientCnt uint32 = 100 QosDefaultDiskMaxFLowLimit int = 0x7FFFFFFF QosDefaultDiskMaxIoLimit int = 100000 )
const ( PartitionTypeNormal = 0 PartitionTypeCache = 1 PartitionTypePreLoad = 2 )
const ( VolumeTypeHot = 0 VolumeTypeCold = 1 )
const ( NoCache = 0 RCache = 1 RWCache = 2 )
const ( InitialDecommission uint32 = iota ManualDecommission AutoDecommission QueryDecommission // used for querying decommission progress for ManualDecommission and AutoDecommission AutoAddReplica ManualAddReplica )
const ( TaskFailed = 2 TaskStart = 0 TaskSucceeds = 1 TaskRunning = 3 ResponseInterval = 5 ResponseTimeOut = 100 MaxSendCount = 5 )
const ( APIRsc = "API" APIAccess = "access" ClientMessage = "Token" OwnerVOLRsc = "OwnerVOL" NoneOwnerVOLRsc = "NoneOwnerVOL" VOLAccess = "*" )
const ( // Client APIs ClientGetTicket = "/client/getticket" // Admin APIs AdminCreateKey = "/admin/createkey" AdminDeleteKey = "/admin/deletekey" AdminGetKey = "/admin/getkey" AdminAddCaps = "/admin/addcaps" AdminDeleteCaps = "/admin/deletecaps" AdminGetCaps = "/admin/getcaps" // raft node APIs AdminAddRaftNode = "/admin/addraftnode" AdminRemoveRaftNode = "/admin/removeraftnode" // Object node APIs OSAddCaps = "/os/addcaps" OSDeleteCaps = "/os/deletecaps" OSGetCaps = "/os/getcaps" )
api
const ( // AuthServiceID defines ticket for authnode access (not supported) AuthServiceID = "AuthService" // MasterServiceID defines ticket for master access MasterServiceID = "MasterService" // MetaServiceID defines ticket for metanode access (not supported) MetaServiceID = "MetanodeService" // DataServiceID defines ticket for datanode access (not supported) DataServiceID = "DatanodeService" // ObjectServiceID defines ticket for objectnode access ObjectServiceID = "ObjectService" )
const ( MasterNode = "master" MetaNode = "metanode" DataNode = "datanode" )
const ( ErrCodeSuccess = iota ErrCodeInternalError ErrCodeParamError ErrCodeInvalidCfg ErrCodePersistenceByRaft ErrCodeMarshalData ErrCodeUnmarshalData ErrCodeVolNotExists ErrCodeVolHasDeleted ErrCodeVolNotDelete ErrCodeMetaPartitionNotExists ErrCodeDataPartitionNotExists ErrCodeDataNodeNotExists ErrCodeMetaNodeNotExists ErrCodeDuplicateVol ErrCodeActiveDataNodesTooLess ErrCodeActiveMetaNodesTooLess ErrCodeInvalidMpStart ErrCodeNoAvailDataPartition ErrCodeReshuffleArray ErrCodeIllegalDataReplica ErrCodeMissingReplica ErrCodeHasOneMissingReplica ErrCodeNoDataNodeToWrite ErrCodeNoMetaNodeToWrite ErrCodeCannotBeOffLine ErrCodeNoDataNodeToCreateDataPartition ErrCodeNoZoneToCreateDataPartition ErrCodeNoNodeSetToCreateDataPartition ErrCodeNoNodeSetToCreateMetaPartition ErrCodeNoMetaNodeToCreateMetaPartition ErrCodeIllegalMetaReplica ErrCodeNoEnoughReplica ErrCodeNoLeader ErrCodeVolAuthKeyNotMatch ErrCodeAuthKeyStoreError ErrCodeAuthAPIAccessGenRespError ErrCodeAuthRaftNodeGenRespError ErrCodeAuthOSCapsOpGenRespError ErrCodeAuthReqRedirectError ErrCodeAccessKeyNotExists ErrCodeInvalidTicket ErrCodeInvalidClientIDKey ErrCodeExpiredTicket ErrCodeMasterAPIGenRespError ErrCodeDuplicateUserID ErrCodeUserNotExists ErrCodeReadBodyError ErrCodeVolPolicyNotExists ErrCodeDuplicateAccessKey ErrCodeHaveNoPolicy ErrCodeNoZoneToCreateMetaPartition ErrCodeZoneNotExists ErrCodeOwnVolExists ErrCodeSuperAdminExists ErrCodeInvalidUserID ErrCodeInvalidUserType ErrCodeNoPermission ErrCodeTokenNotExist ErrCodeInvalidAccessKey ErrCodeInvalidSecretKey ErrCodeIsOwner ErrCodeZoneNumError ErrCodeVersionOpError ErrCodeNodeSetNotExists )
http response error code and error message definitions
const ( RootIno = uint64(1) SummaryKey = "cbfs.dir.summary" QuotaKey = "qa" )
const ( FlagsSyncWrite int = 1 << iota FlagsAppend FlagsCache )
const ( FlagsSnapshotDel int = 1 << iota FlagsSnapshotDelDir FlagsVerAll )
const ( TxCommit int = 1 << iota TxRollback )
const ( AttrMode uint32 = 1 << iota AttrUid AttrGid AttrModifyTime AttrAccessTime )
const ( HeaderAcceptEncoding = "x-cfs-Accept-Encoding" HeaderContentEncoding = "x-cfs-Content-Encoding" )
const ( RuleEnabled string = "Enabled" RuleDisabled string = "Disabled" )
const ( // Mandatory MountPoint int = iota VolName Owner Master // Optional LogDir WarnLogDir LogLevel ProfPort IcacheTimeout LookupValid AttrValid ReadRate WriteRate EnSyncWrite AutoInvalData Rdonly WriteCache KeepCache FollowerRead Authenticate ClientKey TicketHost EnableHTTPS CertFile AccessKey SecretKey DisableDcache SubDir FsyncOnClose MaxCPUs EnableXattr NearRead EnablePosixACL EnableSummary EnableUnixPermission RequestTimeout // adls VolType EbsEndpoint EbsServerPath CacheAction EbsBlockSize EnableBcache BcacheDir BcacheFilterFiles BcacheBatchCnt BcacheCheckIntervalS ReadThreads WriteThreads MetaSendTimeout BuffersTotalLimit MaxStreamerLimit EnableAudit LocallyProf MinWriteAbleDataPartitionCnt FileSystemName // snapshot SnapshotReadVerSeq DisableMountSubtype StreamRetryTimeOut BufferChanSize MaxMountOption )
For client
const ( MasterAddr = "masterAddr" ListenPort = "listen" ObjectNodeDomain = "objectNodeDomain" BindIpKey = "bindIp" )
For server
const ( ProtoMagic uint8 = 0xFF OpInitResultCode uint8 = 0x00 OpCreateExtent uint8 = 0x01 OpMarkDelete uint8 = 0x02 OpWrite uint8 = 0x03 OpRead uint8 = 0x04 OpStreamRead uint8 = 0x05 OpStreamFollowerRead uint8 = 0x06 OpGetAllWatermarks uint8 = 0x07 OpNotifyReplicasToRepair uint8 = 0x08 OpExtentRepairRead uint8 = 0x09 OpBroadcastMinAppliedID uint8 = 0x0A OpRandomWrite uint8 = 0x0F OpGetAppliedId uint8 = 0x10 OpGetPartitionSize uint8 = 0x11 OpSyncRandomWrite uint8 = 0x12 OpSyncWrite uint8 = 0x13 OpReadTinyDeleteRecord uint8 = 0x14 OpTinyExtentRepairRead uint8 = 0x15 OpGetMaxExtentIDAndPartitionSize uint8 = 0x16 OpSnapshotExtentRepairRead uint8 = 0x17 OpSnapshotExtentRepairRsp uint8 = 0x18 // Operations: Client -> MetaNode. OpMetaCreateInode uint8 = 0x20 OpMetaUnlinkInode uint8 = 0x21 OpMetaCreateDentry uint8 = 0x22 OpMetaDeleteDentry uint8 = 0x23 OpMetaOpen uint8 = 0x24 OpMetaLookup uint8 = 0x25 OpMetaReadDir uint8 = 0x26 OpMetaInodeGet uint8 = 0x27 OpMetaBatchInodeGet uint8 = 0x28 OpMetaExtentsAdd uint8 = 0x29 OpMetaExtentsDel uint8 = 0x2A OpMetaExtentsList uint8 = 0x2B OpMetaUpdateDentry uint8 = 0x2C OpMetaTruncate uint8 = 0x2D OpMetaLinkInode uint8 = 0x2E OpMetaEvictInode uint8 = 0x2F OpMetaSetattr uint8 = 0x30 OpMetaReleaseOpen uint8 = 0x31 // Operations: MetaNode Leader -> MetaNode Follower OpMetaFreeInodesOnRaftFollower uint8 = 0x32 OpMetaDeleteInode uint8 = 0x33 // delete specified inode immediately and do not remove data. OpMetaBatchExtentsAdd uint8 = 0x34 // for extents batch attachment OpMetaSetXAttr uint8 = 0x35 OpMetaGetXAttr uint8 = 0x36 OpMetaRemoveXAttr uint8 = 0x37 OpMetaListXAttr uint8 = 0x38 OpMetaBatchGetXAttr uint8 = 0x39 OpMetaExtentAddWithCheck uint8 = 0x3A // Append extent key with discard extents check OpMetaReadDirLimit uint8 = 0x3D OpMetaLockDir uint8 = 0x3E // Operations: Master -> MetaNode OpCreateMetaPartition uint8 = 0x40 OpMetaNodeHeartbeat uint8 = 0x41 OpDeleteMetaPartition uint8 = 0x42 OpUpdateMetaPartition uint8 = 0x43 OpLoadMetaPartition uint8 = 0x44 OpDecommissionMetaPartition uint8 = 0x45 OpAddMetaPartitionRaftMember uint8 = 0x46 OpRemoveMetaPartitionRaftMember uint8 = 0x47 OpMetaPartitionTryToLeader uint8 = 0x48 // Quota OpMetaBatchSetInodeQuota uint8 = 0x50 OpMetaBatchDeleteInodeQuota uint8 = 0x51 OpMetaGetInodeQuota uint8 = 0x52 OpQuotaCreateInode uint8 = 0x53 OpQuotaCreateDentry uint8 = 0x54 OpLcNodeHeartbeat uint8 = 0x55 OpLcNodeScan uint8 = 0x56 OpLcNodeSnapshotVerDel uint8 = 0x5B // backUp OpBatchLockNormalExtent uint8 = 0x57 OpBatchUnlockNormalExtent uint8 = 0x58 OpBackupRead uint8 = 0x59 OpBackupWrite uint8 = 0x5A // Operations: Master -> DataNode OpCreateDataPartition uint8 = 0x60 OpDeleteDataPartition uint8 = 0x61 OpLoadDataPartition uint8 = 0x62 OpDataNodeHeartbeat uint8 = 0x63 OpReplicateFile uint8 = 0x64 OpDeleteFile uint8 = 0x65 OpDecommissionDataPartition uint8 = 0x66 OpAddDataPartitionRaftMember uint8 = 0x67 OpRemoveDataPartitionRaftMember uint8 = 0x68 OpDataPartitionTryToLeader uint8 = 0x69 OpQos uint8 = 0x6A OpStopDataPartitionRepair uint8 = 0x6B OpRecoverDataReplicaMeta uint8 = 0x6C OpRecoverBackupDataReplica uint8 = 0x6D OpRecoverBadDisk uint8 = 0x6E OpQueryBadDiskRecoverProgress uint8 = 0x6F OpDeleteBackupDirectories uint8 = 0x80 // Operations: MultipartInfo OpCreateMultipart uint8 = 0x70 OpGetMultipart uint8 = 0x71 OpAddMultipartPart uint8 = 0x72 OpRemoveMultipart uint8 = 0x73 OpListMultiparts uint8 = 0x74 OpBatchDeleteExtent uint8 = 0x75 // SDK to MetaNode OpGcBatchDeleteExtent uint8 = 0x76 // SDK to MetaNode OpGetExpiredMultipart uint8 = 0x77 // Operations: MetaNode Leader -> MetaNode Follower OpMetaBatchDeleteInode uint8 = 0x90 OpMetaBatchDeleteDentry uint8 = 0x91 OpMetaBatchUnlinkInode uint8 = 0x92 OpMetaBatchEvictInode uint8 = 0x93 // Transaction Operations: Client -> MetaNode. OpMetaTxCreate uint8 = 0xA0 OpMetaTxCreateInode uint8 = 0xA1 OpMetaTxUnlinkInode uint8 = 0xA2 OpMetaTxCreateDentry uint8 = 0xA3 OpTxCommit uint8 = 0xA4 OpTxRollback uint8 = 0xA5 OpTxCommitRM uint8 = 0xA6 OpTxRollbackRM uint8 = 0xA7 OpMetaTxDeleteDentry uint8 = 0xA8 OpMetaTxUpdateDentry uint8 = 0xA9 OpMetaTxLinkInode uint8 = 0xAA OpMetaTxGet uint8 = 0xAB // Operations: Client -> MetaNode. OpMetaGetUniqID uint8 = 0xAC // Multi version snapshot OpRandomWriteAppend uint8 = 0xB1 OpSyncRandomWriteAppend uint8 = 0xB2 OpRandomWriteVer uint8 = 0xB3 OpSyncRandomWriteVer uint8 = 0xB4 OpSyncRandomWriteVerRsp uint8 = 0xB5 OpTryWriteAppend uint8 = 0xB6 OpSyncTryWriteAppend uint8 = 0xB7 OpVersionOp uint8 = 0xB8 // Commons OpNoSpaceErr uint8 = 0xEE OpForbidErr uint8 = 0xEF OpDirQuota uint8 = 0xF1 OpConflictExtentsErr uint8 = 0xF2 OpIntraGroupNetErr uint8 = 0xF3 OpArgMismatchErr uint8 = 0xF4 OpNotExistErr uint8 = 0xF5 OpDiskNoSpaceErr uint8 = 0xF6 OpDiskErr uint8 = 0xF7 OpErr uint8 = 0xF8 OpAgain uint8 = 0xF9 OpExistErr uint8 = 0xFA OpInodeFullErr uint8 = 0xFB OpTryOtherAddr uint8 = 0xFC OpNotPerm uint8 = 0xFD OpNotEmpty uint8 = 0xFE OpOk uint8 = 0xF0 OpAgainVerionList uint8 = 0xEF OpPing uint8 = 0xFF OpMetaUpdateXAttr uint8 = 0x3B OpMetaReadDirOnly uint8 = 0x3C OpUploadPartConflictErr uint8 = 0x3D // ebs obj meta OpMetaObjExtentAdd uint8 = 0xDD OpMetaObjExtentsList uint8 = 0xDE OpMetaExtentsEmpty uint8 = 0xDF OpMetaBatchObjExtentsAdd uint8 = 0xD0 OpMetaClearInodeCache uint8 = 0xD1 OpMetaBatchSetXAttr uint8 = 0xD2 OpMetaGetAllXAttr uint8 = 0xD3 OpTxInodeInfoNotExistErr uint8 = 0xE0 OpTxConflictErr uint8 = 0xE1 OpTxDentryInfoNotExistErr uint8 = 0xE2 OpTxRbInodeNotExistErr uint8 = 0xE3 OpTxRbDentryNotExistErr uint8 = 0xE4 OpTxInfoNotExistErr uint8 = 0xE5 OpTxInternalErr uint8 = 0xE6 OpTxCommitItemErr uint8 = 0xE7 OpTxRollbackItemErr uint8 = 0xE8 OpTxRollbackUnknownRbType uint8 = 0xE9 OpTxTimeoutErr uint8 = 0xEA OpTxSetStateErr uint8 = 0xEB OpTxCommitErr uint8 = 0xEC OpTxRollbackErr uint8 = 0xED OpTxUnknownOp uint8 = 0xEE // multiVersion to dp/mp OpVersionOperation uint8 = 0xD5 OpSplitMarkDelete uint8 = 0xD6 OpTryOtherExtent uint8 = 0xD7 // io speed limit OpLimitedIoErr uint8 = 0xB1 OpReadRepairExtentAgain uint8 = 0xEF OpStoreClosed uint8 = 0xB2 // get access time OpMetaInodeAccessTimeGet uint8 = 0xB2 OpReachMaxExtentsErr uint8 = 0xB3 )
Operations
const ( WriteDeadlineTime = 5 ReadDeadlineTime = 5 SyncSendTaskDeadlineTime = 30 NoReadDeadlineTime = -1 BatchDeleteExtentReadDeadLineTime = 120 GetAllWatermarksDeadLineTime = 60 DefaultClusterLoadFactor float64 = 10 MultiVersionFlag = 0x80 VersionListFlag = 0x40 )
const ( CreateVersion = 1 DeleteVersion = 2 CreateVersionPrepare = 3 CreateVersionCommit = 4 SyncBatchVersionList = 5 )
multi version operation
const ( VersionInit = 0 VersionWorking = 1 VersionWorkingTimeOut = 2 VersionWorkingAbnormal = 3 VersionWorkingFinished = 4 )
stage of version building
const ( VersionNormal = 1 VersionDeleted = 2 VersionDeleting = 3 VersionDeleteAbnormal = 4 VersionPrepare = 5 )
status of version
const ( TinyExtentType = 0 NormalExtentType = 1 )
const ( NormalCreateDataPartition = 0 DecommissionedCreateDataPartition = 1 )
const ( FlowLimit = "f" QPSLimit = "q" ConcurrentLimit = "c" S3Nodes = "s3nodes" DefaultUid = "default" )
const ( Recovering = 0 ReadOnly = 1 ReadWrite = 2 )
The following defines the status of a disk or a partition.
const ( VolStatusNormal uint8 = 0 VolStatusMarkDelete uint8 = 1 )
volume status
const ( DefaultTransactionTimeout = 1 // minutes MaxTransactionTimeout = 60 // minutes DefaultTxConflictRetryNum = 10 MaxTxConflictRetryNum = 100 DefaultTxConflictRetryInterval = 20 // ms MaxTxConflictRetryInterval = 1000 // ms MinTxConflictRetryInterval = 10 // ms DefaultTxDeleteTime = 120 ClearOrphanTxTime = 3600 DefaultAccessTimeValidInterval = 3600 * 24 MinAccessTimeValidInterval = 3600 * 12 )
const ( TxTypeUndefined uint32 = iota TxTypeCreate TxTypeMkdir TxTypeRemove TxTypeRename TxTypeMknod TxTypeSymlink TxTypeLink )
const ( TxStateInit int32 = iota TxStatePreCommit TxStateCommit TxStateRollback TxStateCommitDone TxStateRollbackDone TxStateFailed )
const (
AddrSplit = "/"
)
const (
CfgHttpPoolSize = "httpPoolSize"
)
const DefaultDpRepairBlockSize = 128 * util.KB
const (
DefaultZoneName = "default"
)
const InitInode = 0
const (
LFClient = 1 // low frequency client
)
Variables ¶
var ( ErrSuc = errors.New("success") ErrInternalError = errors.New("internal error") ErrParamError = errors.New("parameter error") ErrInvalidCfg = errors.New("bad configuration file") ErrPersistenceByRaft = errors.New("persistence by raft occurred error") ErrMarshalData = errors.New("marshal data error") ErrUnmarshalData = errors.New("unmarshal data error") ErrVolNotExists = errors.New("vol not exists") ErrMetaPartitionNotExists = errors.New("meta partition not exists") ErrDataPartitionNotExists = errors.New("data partition not exists") ErrDataNodeNotExists = errors.New("data node not exists") ErrMetaNodeNotExists = errors.New("meta node not exists") ErrDuplicateVol = errors.New("duplicate vol") ErrActiveDataNodesTooLess = errors.New("no enough active data node") ErrActiveMetaNodesTooLess = errors.New("no enough active meta node") ErrInvalidMpStart = errors.New("invalid meta partition start value") ErrNoAvailDataPartition = errors.New("no available data partition") ErrReshuffleArray = errors.New("the array to be reshuffled is nil") ErrIllegalDataReplica = errors.New("data replica is illegal") ErrMissingReplica = errors.New("a missing data replica is found") ErrHasOneMissingReplica = errors.New("there is a missing replica") ErrNoDataNodeToWrite = errors.New("No data node available for creating a data partition") ErrNoMetaNodeToWrite = errors.New("No meta node available for creating a meta partition") ErrCannotBeOffLine = errors.New("cannot take the data replica offline") ErrNoDataNodeToCreateDataPartition = errors.New("no enough data nodes for creating a data partition") ErrNoZoneToCreateDataPartition = errors.New("no zone available for creating a data partition") ErrNoZoneToCreateMetaPartition = errors.New("no zone available for creating a meta partition") ErrNoNodeSetToCreateDataPartition = errors.New("no node set available for creating a data partition, no node set has enough data node to allocate partitions") ErrNoNodeSetToCreateMetaPartition = errors.New("no node set available for creating a meta partition, no node set has enough meta node to allocate partitions") ErrNoMetaNodeToCreateMetaPartition = errors.New("no enough meta nodes for creating a meta partition") ErrIllegalMetaReplica = errors.New("illegal meta replica") ErrNoEnoughReplica = errors.New("no enough replicas") ErrNoLeader = errors.New("no leader") ErrVolAuthKeyNotMatch = errors.New("client and server auth key do not match") ErrAuthKeyStoreError = errors.New("auth keystore error") ErrAuthAPIAccessGenRespError = errors.New("auth API access response error") ErrAuthOSCapsOpGenRespError = errors.New("auth Object Storage node API response error") ErrKeyNotExists = errors.New("key not exists") ErrDuplicateKey = errors.New("duplicate key") ErrAccessKeyNotExists = errors.New("access key not exists") ErrInvalidTicket = errors.New("invalid ticket") ErrInvalidClientIDKey = errors.New("invalid clientIDKey") ErrExpiredTicket = errors.New("expired ticket") ErrMasterAPIGenRespError = errors.New("master API generate response error") ErrDuplicateUserID = errors.New("duplicate user id") ErrUserNotExists = errors.New("user not exists") ErrReadBodyError = errors.New("read request body failed") ErrVolPolicyNotExists = errors.New("vol policy not exists") ErrDuplicateAccessKey = errors.New("duplicate access key") ErrHaveNoPolicy = errors.New("no vol policy") ErrZoneNotExists = errors.New("zone not exists") ErrOwnVolExists = errors.New("own vols not empty") ErrSuperAdminExists = errors.New("super administrator exists ") ErrInvalidUserID = errors.New("invalid user ID") ErrInvalidUserType = errors.New("invalid user type") ErrNoPermission = errors.New("no permission") ErrTokenNotFound = errors.New("token not found") ErrInvalidAccessKey = errors.New("invalid access key") ErrInvalidSecretKey = errors.New("invalid secret key") ErrIsOwner = errors.New("user owns the volume") ErrZoneNum = errors.New("zone num not qualified") ErrNoNodeSetToUpdateDecommissionLimit = errors.New("no node set available for updating decommission limit") ErrNoNodeSetToQueryDecommissionLimitStatus = errors.New("no node set available for query decommission limit status") ErrNoNodeSetToDecommission = errors.New("no node set available to decommission ") ErrVolNoAvailableSpace = errors.New("vol has no available space") ErrVolNoCacheAndRule = errors.New("vol has no cache and rule") ErrNoAclPermission = errors.New("acl no permission") ErrQuotaNotExists = errors.New("quota not exists") ErrVolNotDelete = errors.New("vol was not previously deleted or already deleted") ErrVolHasDeleted = errors.New("vol has been deleted") ErrCodeVersionOp = errors.New("version op failed") ErrNoSuchLifecycleConfiguration = errors.New("The lifecycle configuration does not exist") ErrNoNodeSetToUpdateDecommissionDiskFactor = errors.New("no node set available for updating decommission disk factor") ErrNoNodeSetToQueryDecommissionDiskLimit = errors.New("no node set available for query decommission disk limit") ErrNodeSetNotExists = errors.New("node set not exists") ErrCompressFailed = errors.New("compress data failed") ErrDecompressFailed = errors.New("decompress data failed") ErrDecommissionDiskErrDPFirst = errors.New("decommission disk error data partition first") ErrDiskNotExists = errors.New("disk not exists") ErrPerformingRestoreReplica = errors.New("is performing restore replica") ErrPerformingDecommission = errors.New("one replica is performing decommission") ErrWaitForAutoAddReplica = errors.New("wait for auto add replica") ErrVolNameRegExpNotMatch = errors.New("name can only be number and letters") ErrSnapshotNotEnabled = errors.New("cluster not enable snapshot") ErrMemberChange = errors.New("raft prev member change is not finished.") )
err
var ( ExtentKeyHeader = []byte("EKV2") ExtentKeyHeaderV3 = []byte("EKV3") ExtentKeyHeaderSize = len(ExtentKeyHeader) ExtentLength = 40 ExtentKeyChecksumSize = 4 ExtentVerFieldSize = 9 // ver(8) and isSplit(1) ExtentV2Length = ExtentKeyHeaderSize + ExtentLength + ExtentKeyChecksumSize ExtentV3Length = ExtentKeyHeaderSize + ExtentLength + ExtentKeyChecksumSize + ExtentVerFieldSize InvalidKey = errors.New("invalid key error") InvalidKeyHeader = errors.New("invalid extent v2 key header error") InvalidKeyCheckSum = errors.New("invalid extent v2 key checksum error") )
var ( GRequestID = time.Now().Unix()<<32 + 1 Buffers *buf.BufferPool )
var ( AKRegexp = regexp.MustCompile("^[a-zA-Z0-9]{16}$") SKRegexp = regexp.MustCompile("^[a-zA-Z0-9]{32}$") WriteS3Api = []string{ "PostObject", "PutObject", "CopyObject", "CreateMultipartUpload", "UploadPart", "UploadPartCopy", "CompleteMultipartUpload", "AbortMultipartUpload", "DeleteObjects", "DeleteObject", } )
var ( Version string CommitID string BranchName string BuildTime string )
var AllActions = []Action{ OSSGetObjectAction, OSSPutObjectAction, OSSPostObjectAction, OSSCopyObjectAction, OSSListObjectsAction, OSSDeleteObjectAction, OSSDeleteObjectsAction, OSSHeadObjectAction, OSSCreateBucketAction, OSSDeleteBucketAction, OSSHeadBucketAction, OSSListBucketsAction, OSSGetBucketPolicyAction, OSSPutBucketPolicyAction, OSSDeleteBucketPolicyAction, OSSGetBucketPolicyStatusAction, OSSGetBucketAclAction, OSSPutBucketAclAction, OSSGetObjectTorrentAction, OSSGetObjectAclAction, OSSPutObjectAclAction, OSSCreateMultipartUploadAction, OSSListMultipartUploadsAction, OSSUploadPartAction, OSSUploadPartCopyAction, OSSListPartsAction, OSSCompleteMultipartUploadAction, OSSAbortMultipartUploadAction, OSSGetBucketLocationAction, OSSGetObjectXAttrAction, OSSPutObjectXAttrAction, OSSListObjectXAttrsAction, OSSDeleteObjectXAttrAction, OSSGetObjectTaggingAction, OSSPutObjectTaggingAction, OSSDeleteObjectTaggingAction, OSSGetBucketTaggingAction, OSSPutBucketTaggingAction, OSSDeleteBucketTaggingAction, OSSGetBucketLifecycleAction, OSSPutBucketLifecycleAction, OSSDeleteBucketLifecycleAction, OSSGetBucketLifecycleConfigurationAction, OSSPutBucketLifecycleConfigurationAction, OSSDeleteBucketLifecycleConfigurationAction, OSSGetBucketVersioningAction, OSSPutBucketVersioningAction, OSSListObjectVersionsAction, OSSGetObjectLegalHoldAction, OSSPutObjectLegalHoldAction, OSSGetObjectRetentionAction, OSSPutObjectRetentionAction, OSSGetBucketEncryptionAction, OSSPutBucketEncryptionAction, OSSDeleteBucketEncryptionAction, OSSGetBucketCorsAction, OSSPutBucketCorsAction, OSSDeleteBucketCorsAction, OSSGetBucketWebsiteAction, OSSPutBucketWebsiteAction, OSSDeleteBucketWebsiteAction, OSSRestoreObjectAction, OSSGetPublicAccessBlockAction, OSSPutPublicAccessBlockAction, OSSDeletePublicAccessBlockAction, OSSGetBucketRequestPaymentAction, OSSPutBucketRequestPaymentAction, OSSGetBucketReplicationAction, OSSPutBucketReplicationAction, OSSDeleteBucketReplicationAction, OSSOptionsObjectAction, OSSGetFederationTokenAction, POSIXReadAction, POSIXWriteAction, OSSPutObjectLockConfigurationAction, OSSGetObjectLockConfigurationAction, }
var Err2CodeMap = map[error]int32{ ErrSuc: ErrCodeSuccess, ErrInternalError: ErrCodeInternalError, ErrParamError: ErrCodeParamError, ErrInvalidCfg: ErrCodeInvalidCfg, ErrPersistenceByRaft: ErrCodePersistenceByRaft, ErrMarshalData: ErrCodeMarshalData, ErrUnmarshalData: ErrCodeUnmarshalData, ErrVolNotExists: ErrCodeVolNotExists, ErrMetaPartitionNotExists: ErrCodeMetaPartitionNotExists, ErrDataPartitionNotExists: ErrCodeDataPartitionNotExists, ErrDataNodeNotExists: ErrCodeDataNodeNotExists, ErrMetaNodeNotExists: ErrCodeMetaNodeNotExists, ErrDuplicateVol: ErrCodeDuplicateVol, ErrActiveDataNodesTooLess: ErrCodeActiveDataNodesTooLess, ErrActiveMetaNodesTooLess: ErrCodeActiveMetaNodesTooLess, ErrInvalidMpStart: ErrCodeInvalidMpStart, ErrNoAvailDataPartition: ErrCodeNoAvailDataPartition, ErrReshuffleArray: ErrCodeReshuffleArray, ErrIllegalDataReplica: ErrCodeIllegalDataReplica, ErrMissingReplica: ErrCodeMissingReplica, ErrHasOneMissingReplica: ErrCodeHasOneMissingReplica, ErrNoDataNodeToWrite: ErrCodeNoDataNodeToWrite, ErrNoMetaNodeToWrite: ErrCodeNoMetaNodeToWrite, ErrCannotBeOffLine: ErrCodeCannotBeOffLine, ErrNoDataNodeToCreateDataPartition: ErrCodeNoDataNodeToCreateDataPartition, ErrNoZoneToCreateDataPartition: ErrCodeNoZoneToCreateDataPartition, ErrNoZoneToCreateMetaPartition: ErrCodeNoZoneToCreateMetaPartition, ErrNoNodeSetToCreateDataPartition: ErrCodeNoNodeSetToCreateDataPartition, ErrNoNodeSetToCreateMetaPartition: ErrCodeNoNodeSetToCreateMetaPartition, ErrNoMetaNodeToCreateMetaPartition: ErrCodeNoMetaNodeToCreateMetaPartition, ErrIllegalMetaReplica: ErrCodeIllegalMetaReplica, ErrNoEnoughReplica: ErrCodeNoEnoughReplica, ErrNoLeader: ErrCodeNoLeader, ErrVolAuthKeyNotMatch: ErrCodeVolAuthKeyNotMatch, ErrAuthKeyStoreError: ErrCodeAuthKeyStoreError, ErrAuthAPIAccessGenRespError: ErrCodeAuthAPIAccessGenRespError, ErrAuthOSCapsOpGenRespError: ErrCodeAuthOSCapsOpGenRespError, ErrAccessKeyNotExists: ErrCodeAccessKeyNotExists, ErrInvalidTicket: ErrCodeInvalidTicket, ErrInvalidClientIDKey: ErrCodeInvalidClientIDKey, ErrExpiredTicket: ErrCodeExpiredTicket, ErrMasterAPIGenRespError: ErrCodeMasterAPIGenRespError, ErrDuplicateUserID: ErrCodeDuplicateUserID, ErrUserNotExists: ErrCodeUserNotExists, ErrReadBodyError: ErrCodeReadBodyError, ErrVolPolicyNotExists: ErrCodeVolPolicyNotExists, ErrDuplicateAccessKey: ErrCodeDuplicateAccessKey, ErrHaveNoPolicy: ErrCodeHaveNoPolicy, ErrZoneNotExists: ErrCodeZoneNotExists, ErrOwnVolExists: ErrCodeOwnVolExists, ErrSuperAdminExists: ErrCodeSuperAdminExists, ErrInvalidUserID: ErrCodeInvalidUserID, ErrInvalidUserType: ErrCodeInvalidUserType, ErrNoPermission: ErrCodeNoPermission, ErrTokenNotFound: ErrCodeTokenNotExist, ErrInvalidAccessKey: ErrCodeInvalidAccessKey, ErrInvalidSecretKey: ErrCodeInvalidSecretKey, ErrIsOwner: ErrCodeIsOwner, ErrZoneNum: ErrCodeZoneNumError, ErrCodeVersionOp: ErrCodeVersionOpError, ErrNodeSetNotExists: ErrCodeNodeSetNotExists, }
Err2CodeMap error map to code
var GApiInfo map[string]string = map[string]string{ "admingetmasterapilist": AdminGetMasterApiList, "adminsetapiqpslimit": AdminSetApiQpsLimit, "admingetcluster": AdminGetCluster, "adminsetclusterinfo": AdminSetClusterInfo, "admingetdatapartition": AdminGetDataPartition, "adminloaddatapartition": AdminLoadDataPartition, "admincreatedatapartition": AdminCreateDataPartition, "admincreatepreloaddatapartition": AdminCreatePreLoadDataPartition, "admindecommissiondatapartition": AdminDecommissionDataPartition, "admindiagnosedatapartition": AdminDiagnoseDataPartition, "admindeletedatareplica": AdminDeleteDataReplica, "adminadddatareplica": AdminAddDataReplica, "admindeletevol": AdminDeleteVol, "adminupdatevol": AdminUpdateVol, "adminvolshrink": AdminVolShrink, "adminvolexpand": AdminVolExpand, "admincreatevol": AdminCreateVol, "admingetvol": AdminGetVol, "adminclusterfreeze": AdminClusterFreeze, "adminclusterforbidmpdecommission": AdminClusterForbidMpDecommission, "adminclusterstat": AdminClusterStat, "admingetip": AdminGetIP, "admincreatemetapartition": AdminCreateMetaPartition, "adminsetmetanodethreshold": AdminSetMetaNodeThreshold, "adminsetmastervoldeletiondelaytime": AdminSetMasterVolDeletionDelayTime, "adminlistvols": AdminListVols, "adminsetnodeinfo": AdminSetNodeInfo, "admingetnodeinfo": AdminGetNodeInfo, "admingetallnodesetgrpinfo": AdminGetAllNodeSetGrpInfo, "admingetnodesetgrpinfo": AdminGetNodeSetGrpInfo, "admingetisdomainon": AdminGetIsDomainOn, "adminupdatenodesetcapcity": AdminUpdateNodeSetCapcity, "adminupdatenodesetid": AdminUpdateNodeSetId, "adminupdatedomaindatauseratio": AdminUpdateDomainDataUseRatio, "adminupdatezoneexcluderatio": AdminUpdateZoneExcludeRatio, "adminsetnoderdonly": AdminSetNodeRdOnly, "adminsetdprdonly": AdminSetDpRdOnly, "admindatapartitionchangeleader": AdminDataPartitionChangeLeader, "adminsetdpdiscard": AdminSetDpDiscard, "admingetdiscarddp": AdminGetDiscardDp, "clientdatapartitions": ClientDataPartitions, "clientvol": ClientVol, "clientmetapartition": ClientMetaPartition, "clientvolstat": ClientVolStat, "clientmetapartitions": ClientMetaPartitions, "qosgetstatus": QosGetStatus, "qosgetclientslimitinfo": QosGetClientsLimitInfo, "qosgetzonelimitinfo": QosGetZoneLimitInfo, "qosupdate": QosUpdate, "qosupdateclientparam": QosUpdateClientParam, "qosupdatezonelimit": QosUpdateZoneLimit, "qosupload": QosUpload, "qosupdatemasterlimit": QosUpdateMasterLimit, "addraftnode": AddRaftNode, "removeraftnode": RemoveRaftNode, "raftstatus": RaftStatus, "adddatanode": AddDataNode, "decommissiondatanode": DecommissionDataNode, "migratedatanode": MigrateDataNode, "canceldecommissiondatanode": PauseDecommissionDataNode, "decommissiondisk": DecommissionDisk, "getdatanode": GetDataNode, "addmetanode": AddMetaNode, "decommissionmetanode": DecommissionMetaNode, "migratemetanode": MigrateMetaNode, "getmetanode": GetMetaNode, "adminupdatemetanode": AdminUpdateMetaNode, "adminupdatedatanode": AdminUpdateDataNode, "admingetinvalidnodes": AdminGetInvalidNodes, "adminloadmetapartition": AdminLoadMetaPartition, "admindiagnosemetapartition": AdminDiagnoseMetaPartition, "admindecommissionmetapartition": AdminDecommissionMetaPartition, "adminchangemetapartitionleader": AdminChangeMetaPartitionLeader, "adminbalancemetapartitionleader": AdminBalanceMetaPartitionLeader, "adminaddmetareplica": AdminAddMetaReplica, "admindeletemetareplica": AdminDeleteMetaReplica, "getmetanodetaskresponse": GetMetaNodeTaskResponse, "getdatanodetaskresponse": GetDataNodeTaskResponse, "gettopologyview": GetTopologyView, "updatezone": UpdateZone, "getallzones": GetAllZones, "usercreate": UserCreate, "userdelete": UserDelete, "userupdate": UserUpdate, "userupdatepolicy": UserUpdatePolicy, "userremovepolicy": UserRemovePolicy, "userdeletevolpolicy": UserDeleteVolPolicy, "usergetinfo": UserGetInfo, "usergetakinfo": UserGetAKInfo, "usertransfervol": UserTransferVol, "userlist": UserList, "usersofvol": UsersOfVol, }
var GTxMaskMap = map[string]TxOpMask{ "off": TxOpMaskOff, "create": TxOpMaskCreate, "mkdir": TxOpMaskMkdir, "remove": TxOpMaskRemove, "rename": TxOpMaskRename, "mknod": TxOpMaskMknod, "symlink": TxOpMaskSymlink, "link": TxOpMaskLink, "all": TxOpMaskAll, }
var MsgType2ResourceMap = map[MsgType]string{ MsgAuthCreateKeyReq: "auth:createkey", MsgAuthDeleteKeyReq: "auth:deletekey", MsgAuthGetKeyReq: "auth:getkey", MsgAuthAddCapsReq: "auth:addcaps", MsgAuthDeleteCapsReq: "auth:deletecaps", MsgAuthGetCapsReq: "auth:getcaps", MsgAuthAddRaftNodeReq: "auth:addnode", MsgAuthRemoveRaftNodeReq: "auth:removenode", MsgAuthOSAddCapsReq: "auth:osaddcaps", MsgAuthOSDeleteCapsReq: "auth:osdeletecaps", MsgAuthOSGetCapsReq: "auth:osgetcaps", MsgMasterFetchVolViewReq: "master:getvol", MsgMasterClusterFreezeReq: "master:clusterfreeze", MsgMasterAddRaftNodeReq: "master:addraftnode", MsgMasterRemoveRaftNodeReq: "master:removeraftnode", MsgMasterSetNodeInfoReq: "master:setnodeinfo", MsgMasterSetNodeRdOnlyReq: "master:sernoderdonly", MsgMasterAutoDecommissionReq: "master:autodecommission", MsgMasterCreateVolReq: "master:createvol", MsgMasterDeleteVolReq: "master:deletevol", MsgMasterUpdateVolReq: "master:updatevol", MsgMasterVolShrinkReq: "master:volshrink", MsgMasterVolExpandReq: "master:volexpand", MsgMasterLoadMetaPartitionReq: "master:loadmetapartition", MsgMasterDecommissionMetaPartitionReq: "master:decommissionmetapartition", MsgMasterChangeMetaPartitionLeaderReq: "master:changemetapartitionleader", MsgMasterCreateMetaPartitionReq: "master:createmetapartition", MsgMasterAddMetaReplicaReq: "master:addmetareplica", MsgMasterDeleteMetaReplicaReq: "master:deletemetareplica", MsgMasterQosUpdateReq: "master:qosupdate", MsgMasterQosUpdateZoneLimitReq: "master:qosupdatezonelimit", MsgMasterQosUpdateMasterLimitReq: "master:qosupdatemasterlimit", MsgMasterQosUpdateClientParamReq: "master:qosupdateclientparam", MsgMasterCreateDataPartitionReq: "master:createdatapartition", MsgMasterDataPartitionChangeLeaderReq: "master:changedatapartitionleader", MsgMasterLoadDataPartitionReq: "master:loaddatapartition", MsgMasterDecommissionDataPartitionReq: "master:decommissiondatapartition", MsgMasterAddDataReplicaReq: "master:adddatareplica", MsgMasterDeleteDataReplicaReq: "master:removedatareplica", MsgMasterSetDpRdOnlyReq: "master:setdprdonly", MsgMasterReportLackDataPartitions: "master:reportLackDataPartitions", MsgMasterAddMetaNodeReq: "master:addmetanode", MsgMasterDecommissionMetaNodeReq: "master:decommissionmetanode", MsgMasterMigrateMetaNodeReq: "master:migratemetanode", MsgMasterSetMetaNodeThresholdReq: "master:setmetanodethreshold", MsgMasterUpdateMetaNodeReq: "master:updatemetanode", MsgMasterAddDataNodeReq: "master:adddatannode", MsgMasterDecommissionDataNodeReq: "master:decommissiondatannode", MsgMasterMigrateDataNodeReq: "master:migratedatannode", MsgMasterCancelDecommissionDataNodeReq: "master:canceldecommissiondatannode", MsgMasterDecommissionDiskReq: "master:decommissiondisk", MsgMasterUpdateNodeSetCapcityReq: "master:updatenodesetcapcity", MsgMasterUpdateNodeSetIdReq: "master:updatenodesetid", MsgMasterUpdateDomainDataUseRatioReq: "master:updatedomaindatauseratio", MsgMasterUpdateZoneExcludeRatioReq: "master:updatezoneexcluderatio", MsgMasterRecommissionDiskReq: "master:recommissiondisk", MsgMasterUserCreateReq: "master:usercreate", MsgMasterUserDeleteReq: "master:userdelete", MsgMasterUserUpdateReq: "master:userupdate", MsgMasterUserUpdatePolicyReq: "master:userupdatepolicy", MsgMasterUserRemovePolicyReq: "master:userremotepolicy", MsgMasterUserDeleteVolPolicyReq: "master:userdeletevolpolicy", MsgMasterUserTransferVolReq: "master:usertransfervol", MsgMasterUpdateZoneReq: "master:updatezone", }
MsgType2ResourceMap define the mapping from message type to resource
Functions ¶
func CheckAPIAccessCaps ¶ added in v1.5.0
func CheckAPIAccessCaps(ticket *cryptoutil.Ticket, rscType string, mp MsgType, action string) (err error)
CheckAPIAccessCaps checks capability
func CheckVOLAccessCaps ¶ added in v1.5.0
func DumpVersion ¶ added in v1.34.0
func ExtractAPIAccessTicket ¶ added in v1.5.0
func ExtractAPIAccessTicket(req *APIAccessReq, key []byte) (ticket cryptoutil.Ticket, ts int64, err error)
ExtractAPIAccessTicket verify ticket validity
func ExtractIDAndAuthKey ¶ added in v1.34.0
func ExtractTicket ¶ added in v1.5.0
func ExtractTicket(str string, key []byte) (ticket cryptoutil.Ticket, err error)
func GenAuthIDKey ¶ added in v1.34.0
func GetDataFromResp ¶ added in v1.5.0
GetDataFromResp extract data from response
func GetHttpTransporter ¶ added in v1.34.0
func GetMaskString ¶ added in v1.34.0
func GetStatusStr ¶ added in v1.34.0
func InitBufferPool ¶ added in v1.34.0
func InitBufferPool(bufLimit int64)
func InitBufferPoolEx ¶ added in v1.34.0
func InitMountOptions ¶ added in v1.34.0
func InitMountOptions(opts []MountOption)
func IsAncestor ¶ added in v1.34.0
func IsNormalDp ¶ added in v1.34.0
func IsNormalExtentType ¶ added in v1.34.0
func IsPreLoadDp ¶ added in v1.34.0
func IsS3PutApi ¶ added in v1.34.0
func IsTinyExtentType ¶ added in v1.34.0
func IsValidClientID ¶ added in v1.5.0
IsValidClientID determine the validity of a clientID
func IsValidMsgReqType ¶ added in v1.5.0
IsValidMsgReqType determine the validity of a message type
func IsValidServiceID ¶ added in v1.5.0
IsValidServiceID determine the validity of a serviceID
func MaskContains ¶ added in v1.34.0
func MergeSplitKey ¶ added in v1.34.0
func OsModeType ¶ added in v1.34.0
Returns os.FileMode masked by os.ModeType
func ParseErrorCode ¶ added in v1.34.0
func ParseFromId ¶ added in v1.34.0
func ParseMountOptions ¶ added in v1.34.0
func ParseMountOptions(opts []MountOption, cfg *config.Config)
func ParseVerifier ¶ added in v1.5.0
ParseVerifier checks the verifier structure for replay attack mitigation
func QosTypeString ¶ added in v1.34.0
func TxMaskToType ¶ added in v1.34.0
func UnmarshalHTTPReply ¶ added in v1.34.0
func VerifyAPIAccessReqIDs ¶ added in v1.5.0
func VerifyAPIAccessReqIDs(req *APIAccessReq) (err error)
VerifyAPIAccessReqIDs verify the req IDs
func VerifyAPIRespComm ¶ added in v1.5.0
func VerifyAPIRespComm(apiResp *APIAccessResp, msg MsgType, clientID string, serviceID string, ts int64) (err error)
VerifyAPIRespComm client verifies commond attributes returned from server
func VerifyTicketRespComm ¶ added in v1.5.0
func VerifyTicketRespComm(ticketResp *AuthGetTicketResp, msg MsgType, clientID string, serviceID string, ts int64) (err error)
VerifyTicketRespComm verifies the ticket respose from server
Types ¶
type APIAccessReq ¶ added in v1.5.0
type APIAccessReq struct { Type MsgType `json:"type"` ClientID string `json:"client_id"` ServiceID string `json:"service_id"` Verifier string `json:"verifier"` Ticket string `json:"ticket"` }
APIAccessReq defines the request for access restful api use Timestamp as verifier for MITM mitigation verifier is also used to verify the server identity
type APIAccessResp ¶ added in v1.5.0
type APIAccessResp struct { Type MsgType `json:"type"` ClientID string `json:"client_id"` ServiceID string `json:"service_id"` Verifier int64 `json:"verifier"` }
APIAccessResp defines the response for access restful api use Timestamp as verifier for MITM mitigation verifier is also used to verify the server identity
type Action ¶ added in v1.34.0
type Action string
const ( ActionPrefix = "action:" OSSActionPrefix = ActionPrefix + "oss:" POSIXActionPrefix = ActionPrefix + "posix:" // Object actions OSSGetObjectAction Action = OSSActionPrefix + "GetObject" OSSPutObjectAction Action = OSSActionPrefix + "PutObject" OSSPostObjectAction Action = OSSActionPrefix + "PostObject" OSSCopyObjectAction Action = OSSActionPrefix + "CopyObject" OSSListObjectsAction Action = OSSActionPrefix + "ListObjects" OSSDeleteObjectAction Action = OSSActionPrefix + "DeleteObject" OSSDeleteObjectsAction Action = OSSActionPrefix + "DeleteObjects" OSSHeadObjectAction Action = OSSActionPrefix + "HeadObject" // Bucket actions OSSCreateBucketAction Action = OSSActionPrefix + "CreateBucket" OSSDeleteBucketAction Action = OSSActionPrefix + "DeleteBucket" OSSHeadBucketAction Action = OSSActionPrefix + "HeadBucket" OSSListBucketsAction Action = OSSActionPrefix + "ListBuckets" // Bucket policy actions OSSGetBucketPolicyAction Action = OSSActionPrefix + "GetBucketPolicy" OSSPutBucketPolicyAction Action = OSSActionPrefix + "PutBucketPolicy" OSSDeleteBucketPolicyAction Action = OSSActionPrefix + "DeleteBucketPolicy" OSSGetBucketPolicyStatusAction Action = OSSActionPrefix + "GetBucketPolicyStatus" // unsupported // Bucket ACL actions OSSGetBucketAclAction Action = OSSActionPrefix + "GetBucketAcl" OSSPutBucketAclAction Action = OSSActionPrefix + "PutBucketAcl" // Bucket CORS actions OSSGetBucketCorsAction Action = OSSActionPrefix + "GetBucketCors" OSSPutBucketCorsAction Action = OSSActionPrefix + "PutBucketCors" OSSDeleteBucketCorsAction Action = OSSActionPrefix + "DeleteBucketCors" OSSOptionsObjectAction Action = OSSActionPrefix + "OptionsObject" // Object torrent actions OSSGetObjectTorrentAction Action = OSSActionPrefix + "GetObjectTorrent" // unsupported // Object ACL actions OSSGetObjectAclAction Action = OSSActionPrefix + "GetObjectAcl" OSSPutObjectAclAction Action = OSSActionPrefix + "PutObjectAcl" // Multipart actions OSSCreateMultipartUploadAction Action = OSSActionPrefix + "CreateMultipartUpload" OSSListMultipartUploadsAction Action = OSSActionPrefix + "ListMultipartUploads" OSSUploadPartAction Action = OSSActionPrefix + "UploadPart" OSSUploadPartCopyAction Action = OSSActionPrefix + "UploadPartCopy" // unsupported OSSListPartsAction Action = OSSActionPrefix + "ListParts" OSSCompleteMultipartUploadAction Action = OSSActionPrefix + "CompleteMultipartUpload" OSSAbortMultipartUploadAction Action = OSSActionPrefix + "AbortMultipartUpload" // Bucket location OSSGetBucketLocationAction Action = OSSActionPrefix + "GetBucketLocation" // Object extend attributes (xattr) OSSGetObjectXAttrAction Action = OSSActionPrefix + "GetObjectXAttr" OSSPutObjectXAttrAction Action = OSSActionPrefix + "PutObjectXAttr" OSSListObjectXAttrsAction Action = OSSActionPrefix + "ListObjectXAttrs" OSSDeleteObjectXAttrAction Action = OSSActionPrefix + "DeleteObjectXAttr" // Object tagging actions OSSGetObjectTaggingAction Action = OSSActionPrefix + "GetObjectTagging" OSSPutObjectTaggingAction Action = OSSActionPrefix + "PutObjectTagging" OSSDeleteObjectTaggingAction Action = OSSActionPrefix + "DeleteObjectTagging" // Bucket tagging actions OSSGetBucketTaggingAction Action = OSSActionPrefix + "GetBucketTagging" OSSPutBucketTaggingAction Action = OSSActionPrefix + "PutBucketTagging" OSSDeleteBucketTaggingAction Action = OSSActionPrefix + "DeleteBucketTagging" // Bucket lifecycle actions OSSGetBucketLifecycleAction Action = OSSActionPrefix + "GetBucketLifecycle" // unsupported OSSPutBucketLifecycleAction Action = OSSActionPrefix + "PutBucketLifecycle" // unsupported OSSDeleteBucketLifecycleAction Action = OSSActionPrefix + "DeleteBucketLifecycle" // unsupported OSSGetBucketLifecycleConfigurationAction Action = OSSActionPrefix + "GetBucketLifecycleConfiguration" OSSPutBucketLifecycleConfigurationAction Action = OSSActionPrefix + "PutBucketLifecycleConfiguration" OSSDeleteBucketLifecycleConfigurationAction Action = OSSActionPrefix + "DeleteBucketLifecycleConfiguration" // Object storage version actions OSSGetBucketVersioningAction Action = OSSActionPrefix + "GetBucketVersioning" // unsupported OSSPutBucketVersioningAction Action = OSSActionPrefix + "PutBucketVersioning" // unsupported OSSListObjectVersionsAction Action = OSSActionPrefix + "ListObjectVersions" // unsupported // Object legal hold actions OSSGetObjectLegalHoldAction Action = OSSActionPrefix + "GetObjectLegalHold" // unsupported OSSPutObjectLegalHoldAction Action = OSSActionPrefix + "PutObjectLegalHold" // unsupported // Object retention actions OSSGetObjectRetentionAction Action = OSSActionPrefix + "GetObjectRetention" // unsupported OSSPutObjectRetentionAction Action = OSSActionPrefix + "PutObjectRetention" // unsupported // Bucket encryption actions OSSGetBucketEncryptionAction Action = OSSActionPrefix + "GetBucketEncryption" // unsupported OSSPutBucketEncryptionAction Action = OSSActionPrefix + "PutBucketEncryption" // unsupported OSSDeleteBucketEncryptionAction Action = OSSActionPrefix + "DeleteBucketEncryption" // unsupported // Bucket website actions OSSGetBucketWebsiteAction Action = OSSActionPrefix + "GetBucketWebsite" // unsupported OSSPutBucketWebsiteAction Action = OSSActionPrefix + "PutBucketWebsite" // unsupported OSSDeleteBucketWebsiteAction Action = OSSActionPrefix + "DeleteBucketWebsite" // unsupported // Object restore actions OSSRestoreObjectAction Action = OSSActionPrefix + "RestoreObject" // unsupported // Public access block actions OSSGetPublicAccessBlockAction Action = OSSActionPrefix + "GetPublicAccessBlock" // unsupported OSSPutPublicAccessBlockAction Action = OSSActionPrefix + "PutPublicAccessBlock" // unsupported OSSDeletePublicAccessBlockAction Action = OSSActionPrefix + "DeletePulicAccessBlock" // unuspported // Bucket request payment actions OSSGetBucketRequestPaymentAction Action = OSSActionPrefix + "GetBucketRequestPayment" // unsupported OSSPutBucketRequestPaymentAction Action = OSSActionPrefix + "PutBucketRequestPayment" // unsupported // Bucket replication actions OSSGetBucketReplicationAction Action = OSSActionPrefix + "GetBucketReplicationAction" // unsupported OSSPutBucketReplicationAction Action = OSSActionPrefix + "PutBucketReplicationAction" // unsupported OSSDeleteBucketReplicationAction Action = OSSActionPrefix + "DeleteBucketReplicationAction" // unsupported // STS actions OSSGetFederationTokenAction Action = OSSActionPrefix + "GetFederationToken" // constants for POSIX file system interface POSIXReadAction Action = POSIXActionPrefix + "Read" POSIXWriteAction Action = POSIXActionPrefix + "Write" // Object Lock actions OSSPutObjectLockConfigurationAction Action = OSSActionPrefix + "PutObjectLockConfiguration" OSSGetObjectLockConfigurationAction Action = OSSActionPrefix + "GetObjectLockConfiguration" NoneAction Action = "" )
func ParseAction ¶ added in v1.34.0
type Actions ¶ added in v1.34.0
type Actions []Action
func BuiltinPermissionActions ¶ added in v1.34.0
func BuiltinPermissionActions(perm Permission) Actions
type AddDataPartitionRaftMemberRequest ¶ added in v1.4.0
AddDataPartitionRaftMemberRequest defines the request of add raftMember a data partition.
type AddMetaPartitionRaftMemberRequest ¶ added in v1.4.0
AddMetaPartitionRaftMemberRequest defines the request of add raftMember a meta partition.
type AddMultipartPartRequest ¶ added in v1.5.0
type AddMultipartPartRequest struct { VolName string `json:"vol"` PartitionId uint64 `json:"pid"` Path string `json:"path"` MultipartId string `json:"mid"` Part *MultipartPartInfo `json:"part"` }
type AdminTask ¶
type AdminTask struct { ID string PartitionID uint64 OpCode uint8 OperatorAddr string Status int8 SendTime int64 CreateTime int64 SendCount uint8 Request interface{} Response interface{} RequestID string }
AdminTask defines the administration task.
func NewAdminTask ¶
NewAdminTask returns a new adminTask.
func NewAdminTaskEx ¶ added in v1.34.0
NewAdminTaskEx returns a new adminTask.
func (*AdminTask) CheckTaskNeedSend ¶
CheckTaskNeedSend checks if the task needs to be sent out.
func (*AdminTask) CheckTaskTimeOut ¶
CheckTaskTimeOut checks if the task is timed out.
func (*AdminTask) IsHeartbeatTask ¶
IsHeartbeatTask returns if the task is a heartbeat task.
func (*AdminTask) IsTaskFailed ¶
IsTaskFailed returns if the task failed.
func (*AdminTask) IsTaskSuccessful ¶
IsTaskSuccessful returns if the task has been executed successful.
func (*AdminTask) IsUrgentTask ¶
IsUrgentTask returns if the task is urgent.
type AppendExtentKeyRequest ¶
type AppendExtentKeyRequest struct { VolName string `json:"vol"` PartitionID uint64 `json:"pid"` Inode uint64 `json:"ino"` Extent ExtentKey `json:"ek"` }
AppendExtentKeyRequest defines the request to append an extent key.
type AppendExtentKeyWithCheckRequest ¶ added in v1.34.0
type AppendExtentKeysRequest ¶ added in v1.5.0
type AppendExtentKeysRequest struct { VolName string `json:"vol"` PartitionId uint64 `json:"pid"` Inode uint64 `json:"ino"` Extents []ExtentKey `json:"eks"` }
AppendExtentKeysRequest defines the request to append an extent key.
type AppendMultipartResponse ¶ added in v1.34.0
type AppendObjExtentKeysRequest ¶ added in v1.34.0
type AppendObjExtentKeysRequest struct { VolName string `json:"vol"` PartitionID uint64 `json:"pid"` Inode uint64 `json:"ino"` Extents []ObjExtentKey `json:"ek"` }
AppendObjExtentKeyRequest defines the request to append an obj extent key.
type AuthAPIAccessReq ¶ added in v1.5.0
type AuthAPIAccessReq struct { APIReq APIAccessReq `json:"api_req"` KeyInfo keystore.KeyInfo `json:"key_info"` }
AuthAPIAccessReq defines Auth API request
type AuthAPIAccessResp ¶ added in v1.5.0
type AuthAPIAccessResp struct { APIResp APIAccessResp `json:"api_resp"` KeyInfo keystore.KeyInfo `json:"key_info"` AuthIDKey string `json:"auth_id_key"` }
AuthAPIAccessResp defines the response for creating an key in authnode
func ParseAuthAPIAccessResp ¶ added in v1.5.0
func ParseAuthAPIAccessResp(body []byte, key []byte) (resp AuthAPIAccessResp, err error)
ParseAuthAPIAccessResp parse and validate the auth api access resp
type AuthGetTicketReq ¶ added in v1.5.0
type AuthGetTicketReq struct { Type MsgType `json:"type"` ClientID string `json:"client_id"` ServiceID string `json:"service_id"` Verifier string `json:"verifier"` }
AuthGetTicketReq defines the message from client to authnode use Timestamp as verifier for MITM mitigation verifier is also used to verify the server identity
type AuthGetTicketResp ¶ added in v1.5.0
type AuthGetTicketResp struct { Type MsgType `json:"type"` ClientID string `json:"client_id"` ServiceID string `json:"service_id"` Verifier int64 `json:"verifier"` Ticket string `json:"ticket"` SessionKey cryptoutil.CryptoKey `json:"session_key"` }
AuthGetTicketResp defines the message from authnode to client
func ParseAuthGetTicketResp ¶ added in v1.5.0
func ParseAuthGetTicketResp(body []byte, key []byte) (resp AuthGetTicketResp, err error)
ParseAuthGetTicketResp parse and validate the auth get ticket resp
type AuthOSAccessKeyReq ¶ added in v1.5.0
type AuthOSAccessKeyReq struct { APIReq APIAccessReq `json:"api_req"` AKCaps keystore.AccessKeyCaps `json:"access_key_caps"` }
AuthAPIAccessKeystoreReq defines Auth API for put/delete Access Keystore vols
type AuthOSAccessKeyResp ¶ added in v1.5.0
type AuthOSAccessKeyResp struct { APIResp APIAccessResp `json:"api_resp"` AKCaps keystore.AccessKeyCaps `json:"access_key_caps"` }
AuthAPIAccessKeystoreResp defines the response for put/delete Access Keystore vols
func ParseAuthOSAKResp ¶ added in v1.5.0
func ParseAuthOSAKResp(body []byte, key []byte) (resp AuthOSAccessKeyResp, err error)
type AuthRaftNodeInfo ¶ added in v1.5.0
AuthRaftNodeInfo defines raft node information
type AuthRaftNodeReq ¶ added in v1.5.0
type AuthRaftNodeReq struct { APIReq APIAccessReq `json:"api_req"` RaftNodeInfo AuthRaftNodeInfo `json:"node_info"` }
AuthRaftNodeReq defines Auth API request for add/remove a raft node
type AuthRaftNodeResp ¶ added in v1.5.0
type AuthRaftNodeResp struct { APIResp APIAccessResp `json:"api_resp"` Msg string `json:"msg"` }
AuthRaftNodeResp defines Auth API response for add/remove a raft node
func ParseAuthRaftNodeResp ¶ added in v1.5.0
func ParseAuthRaftNodeResp(body []byte, key []byte) (resp AuthRaftNodeResp, err error)
ParseAuthRaftNodeResp parse and validate the auth raft node resp
type BackupDataPartitionInfo ¶ added in v1.34.0
type BadDiskInfo ¶ added in v1.34.0
type BadDiskInfos ¶ added in v1.34.0
type BadDiskInfos struct {
BadDisks []BadDiskInfo
}
type BadDiskRecoverProgress ¶ added in v1.34.0
type BadDiskStat ¶ added in v1.34.0
type BadPartitionRepairView ¶ added in v1.34.0
type BadPartitionRepairView struct { Path string PartitionInfos []DpRepairInfo }
type BadPartitionView ¶ added in v1.5.0
type BadReplicaMetaInfo ¶ added in v1.34.0
type BadReplicaMetaResponse ¶ added in v1.34.0
type BadReplicaMetaResponse struct {
Infos []BadReplicaMetaInfo
}
type BatchDeleteDentryRequest ¶ added in v1.34.0
type BatchDeleteDentryResponse ¶ added in v1.34.0
type BatchDeleteDentryResponse struct { ParentID uint64 `json:"pino"` Items []*struct { Inode uint64 `json:"ino"` Status uint8 `json:"status"` } `json:"items"` }
BatchDeleteDentryResponse defines the response to the request of deleting a dentry.
type BatchDeleteMetaserverQuotaResponse ¶ added in v1.34.0
type BatchDeleteMetaserverQuotaReuqest ¶ added in v1.34.0
type BatchDentries ¶ added in v1.34.0
func NewBatchDentries ¶ added in v1.34.0
func NewBatchDentries() *BatchDentries
func (*BatchDentries) Append ¶ added in v1.34.0
func (f *BatchDentries) Append(dentry *ScanDentry)
func (*BatchDentries) BatchGetAndClear ¶ added in v1.34.0
func (f *BatchDentries) BatchGetAndClear() (map[uint64]*ScanDentry, []uint64)
func (*BatchDentries) Len ¶ added in v1.34.0
func (f *BatchDentries) Len() int
type BatchEvictInodeRequest ¶ added in v1.34.0
type BatchEvictInodeRequest struct { VolName string `json:"vol"` PartitionID uint64 `json:"pid"` Inodes []uint64 `json:"inos"` FullPaths []string `json:"fullPaths"` }
EvictInodeRequest defines the request to evict some inode.
type BatchGetXAttrRequest ¶ added in v1.5.0
type BatchGetXAttrResponse ¶ added in v1.5.0
type BatchInodeGetRequest ¶
type BatchInodeGetRequest struct { VolName string `json:"vol"` PartitionID uint64 `json:"pid"` Inodes []uint64 `json:"inos"` VerSeq uint64 `json:"seq"` }
BatchInodeGetRequest defines the request to get the inode in batch.
type BatchInodeGetResponse ¶
type BatchInodeGetResponse struct {
Infos []*InodeInfo `json:"infos"`
}
BatchInodeGetResponse defines the response to the request of getting the inode in batch.
type BatchSetMetaserverQuotaResponse ¶ added in v1.34.0
type BatchSetMetaserverQuotaReuqest ¶ added in v1.34.0
type BatchSetXAttrRequest ¶ added in v1.34.0
type BatchUnlinkInodeRequest ¶ added in v1.34.0
type BatchUnlinkInodeRequest struct { VolName string `json:"vol"` PartitionID uint64 `json:"pid"` Inodes []uint64 `json:"inos"` FullPaths []string `json:"fullPaths"` }
UnlinkInodeRequest defines the request to unlink an inode.
type BatchUnlinkInodeResponse ¶ added in v1.34.0
type BatchUnlinkInodeResponse struct { Items []*struct { Info *InodeInfo `json:"info"` Status uint8 `json:"status"` } `json:"items"` }
batch UnlinkInodeResponse defines the response to the request of unlinking an inode.
type ClearInodeCacheRequest ¶ added in v1.34.0
type ClearInodeCacheResponse ¶ added in v1.34.0
type ClearInodeCacheResponse struct {
Info *InodeInfo `json:"info"`
}
type ClientLimitInfo ¶ added in v1.34.0
type ClientReportLimitInfo ¶ added in v1.34.0
type ClientReportLimitInfo struct { ID uint64 FactorMap map[uint32]*ClientLimitInfo Host string Status uint8 Version *VersionInfo // contains filtered or unexported fields }
func NewClientReportLimitInfo ¶ added in v1.34.0
func NewClientReportLimitInfo() *ClientReportLimitInfo
type ClusterInfo ¶
type ClusterInfo struct { Cluster string Ip string MetaNodeDeleteBatchCount uint64 MetaNodeDeleteWorkerSleepMs uint64 DataNodeDeleteLimitRate uint64 DataNodeAutoRepairLimitRate uint64 DpMaxRepairErrCnt uint64 DirChildrenNumLimit uint32 EbsAddr string ServicePath string ClusterUuid string ClusterUuidEnable bool }
ClusterInfo defines the cluster infomation.
type ClusterNodeInfo ¶ added in v1.34.0
type ClusterNodeInfo struct { // BatchCount int LoadFactor string }
ClusterNode defines the structure of a cluster node
type ClusterStatInfo ¶ added in v1.34.0
type ClusterStatInfo struct { DataNodeStatInfo *NodeStatInfo MetaNodeStatInfo *NodeStatInfo ZoneStatInfo map[string]*ZoneStat }
type ClusterView ¶ added in v1.5.0
type ClusterView struct { Name string CreateTime string LeaderAddr string DisableAutoAlloc bool ForbidMpDecommission bool MetaNodeThreshold float32 Applied uint64 MaxDataPartitionID uint64 MaxMetaNodeID uint64 MaxMetaPartitionID uint64 VolDeletionDelayTimeHour int64 MarkDiskBrokenThreshold float64 EnableAutoDpMetaRepair bool AutoDpMetaRepairParallelCnt int EnableAutoDecommission bool AutoDecommissionDiskInterval string DecommissionLimit uint64 DecommissionDiskLimit uint32 DpRepairTimeout string DpBackupTimeout string DpTimeout string DataNodeStatInfo *NodeStatInfo MetaNodeStatInfo *NodeStatInfo VolStatInfo []*VolStatInfo BadPartitionIDs []BadPartitionView BadMetaPartitionIDs []BadPartitionView MasterNodes []NodeView MetaNodes []NodeView DataNodes []NodeView }
ClusterView provides the view of a cluster.
type CreateDataPartitionRequest ¶
type CreateDataPartitionRequest struct { PartitionTyp int PartitionId uint64 PartitionSize int ReplicaNum int VolumeId string IsRandomWrite bool Members []Peer Hosts []string CreateType int LeaderSize int DecommissionedDisks []string IsMultiVer bool VerSeq uint64 }
CreateDataPartitionRequest defines the request to create a data partition.
type CreateDataPartitionResponse ¶
CreateDataPartitionResponse defines the response to the request of creating a data partition.
type CreateDentryRequest ¶
type CreateInodeRequest ¶
type CreateInodeResponse ¶
type CreateInodeResponse struct {
Info *InodeInfo `json:"info"`
}
CreateInodeResponse defines the response to the request of creating an inode.
type CreateMetaPartitionRequest ¶
type CreateMetaPartitionRequest struct { MetaId string VolName string Start uint64 End uint64 PartitionID uint64 Members []Peer VerSeq uint64 }
CreateMetaPartitionRequest defines the request to create a meta partition.
type CreateMetaPartitionResponse ¶
type CreateMetaPartitionResponse struct { VolName string PartitionID uint64 Status uint8 Result string }
CreateMetaPartitionResponse defines the response to the request of creating a meta partition.
type CreateMultipartRequest ¶ added in v1.5.0
type CreateMultipartResponse ¶ added in v1.5.0
type CreateMultipartResponse struct {
Info *MultipartInfo `json:"info"`
}
type CreateNameSpaceRequest ¶
type CreateNameSpaceRequest struct {
Name string
}
CreateNameSpaceRequest defines the request to create a name space.
type CreateNameSpaceResponse ¶
CreateNameSpaceResponse defines the response to the request of creating a name space.
type DataDecommissionProgress ¶ added in v1.34.0
type DataDecommissionProgress struct { Status uint32 StatusMessage string Progress string FailedDps []FailedDpInfo IgnoreDps []IgnoreDecommissionDP ResidualDps []IgnoreDecommissionDP }
type DataNodeDisksRequest ¶ added in v1.34.0
type DataNodeDisksRequest struct{}
type DataNodeDisksResponse ¶ added in v1.34.0
type DataNodeDisksResponse struct{}
type DataNodeHeartbeatResponse ¶
type DataNodeHeartbeatResponse struct { Total uint64 Used uint64 Available uint64 TotalPartitionSize uint64 // volCnt * volsize RemainingCapacity uint64 // remaining capacity to create partition CreatedPartitionCnt uint32 MaxCapacity uint64 // maximum capacity to create partition StartTime int64 ZoneName string PartitionReports []*DataPartitionReport Status uint8 Result string AllDisks []string BadDisks []string // Keep this old field for compatibility BadDiskStats []BadDiskStat // key: disk path CpuUtil float64 `json:"cpuUtil"` IoUtils map[string]float64 `json:"ioUtil"` BackupDataPartitions []BackupDataPartitionInfo DiskOpLog []OpLog DpOpLog []OpLog }
DataNodeHeartbeatResponse defines the response to the data node heartbeat.
type DataNodeInfo ¶ added in v1.5.0
type DataNodeInfo struct { Total uint64 `json:"TotalWeight"` Used uint64 `json:"UsedWeight"` AvailableSpace uint64 ID uint64 ZoneName string `json:"Zone"` Addr string DomainAddr string ReportTime time.Time IsActive bool ToBeOffline bool IsWriteAble bool UsageRatio float64 // used / total space SelectedTimes uint64 // number times that this datanode has been selected as the location for a data partition. DataPartitionReports []*DataPartitionReport DataPartitionCount uint32 NodeSetID uint64 PersistenceDataPartitions []uint64 PersistenceDataPartitionsWithDiskPath []DataPartitionDiskInfo BadDisks []string RdOnly bool CanAllocPartition bool MaxDpCntLimit uint32 `json:"maxDpCntLimit"` CpuUtil float64 `json:"cpuUtil"` IoUtils map[string]float64 `json:"ioUtil"` DecommissionedDisk []string BackupDataPartitions []uint64 }
DataNode stores all the information about a data node
type DataNodeQosResponse ¶ added in v1.34.0
type DataPartitionDecommissionRequest ¶
DataPartitionDecommissionRequest defines the request of decommissioning a data partition.
type DataPartitionDiagnosis ¶ added in v1.34.0
type DataPartitionDiagnosis struct { InactiveDataNodes []string CorruptDataPartitionIDs []uint64 LackReplicaDataPartitionIDs []uint64 RepFileCountDifferDpIDs []uint64 RepUsedSizeDifferDpIDs []uint64 ExcessReplicaDpIDs []uint64 // BadDataPartitionIDs []BadPartitionView BadDataPartitionInfos []BadPartitionRepairView BadReplicaDataPartitionIDs []uint64 DiskErrorDataPartitionInfos DiskErrPartitionView }
data partition diagnosis represents the inactive data nodes, corrupt data partitions, and data partitions lack of replicas
type DataPartitionDiskInfo ¶ added in v1.34.0
type DataPartitionInfo ¶ added in v1.5.0
type DataPartitionInfo struct { PartitionID uint64 PartitionTTL int64 PartitionType int LastLoadedTime int64 ReplicaNum uint8 Status int8 Recover bool Replicas []*DataReplica Hosts []string // host addresses Peers []Peer Zones []string NodeSets []uint64 MissingNodes map[string]int64 // key: address of the missing node, value: when the node is missing VolName string VolID uint64 OfflinePeerID uint64 FileInCoreMap map[string]*FileInCore IsRecover bool FilesWithMissingReplica map[string]int64 // key: file name, value: last time when a missing replica is found SingleDecommissionStatus uint32 SingleDecommissionAddr string RdOnly bool IsDiscard bool Forbidden bool }
DataPartition represents the structure of storing the file contents.
type DataPartitionReport ¶ added in v1.34.0
type DataPartitionReport struct { VolName string PartitionID uint64 PartitionStatus int Total uint64 Used uint64 DiskPath string IsLeader bool ExtentCount int NeedCompare bool DecommissionRepairProgress float64 LocalPeers []Peer TriggerDiskError bool }
DataPartitionReport defines the partition report.
type DataPartitionResponse ¶
type DataPartitionResponse struct { PartitionType int PartitionID uint64 Status int8 ReplicaNum uint8 Hosts []string LeaderAddr string Epoch uint64 IsRecover bool PartitionTTL int64 IsDiscard bool }
DataPartitionResponse defines the response from a data node to the master that is related to a data partition.
type DataPartitionsView ¶
type DataPartitionsView struct { DataPartitions []*DataPartitionResponse VolReadOnly bool // to notify client no readwrite dp }
DataPartitionsView defines the view of a data partition
func NewDataPartitionsView ¶
func NewDataPartitionsView() (dataPartitionsView *DataPartitionsView)
type DataReplica ¶ added in v1.5.0
type DataReplica struct { Addr string DomainAddr string ReportTime int64 FileCount uint32 Status int8 HasLoadResponse bool // if there is any response when loading Total uint64 `json:"TotalSize"` Used uint64 `json:"UsedSize"` IsLeader bool NeedsToCompare bool DiskPath string DecommissionRepairProgress float64 LocalPeers []Peer TriggerDiskError bool }
DataReplica represents the replica of a data partition
type DecommissionDataPartitionInfo ¶ added in v1.34.0
type DecommissionDataPartitionInfo struct { PartitionId uint64 ReplicaNum uint8 Status string SpecialStep string Retry int RaftForce bool Recover bool SrcAddress string SrcDiskPath string DstAddress string Term uint64 Replicas []string ErrorMessage string NeedRollbackTimes uint32 DecommissionType string RestoreReplicaType string IsDiscard bool RecoverStartTime string }
type DecommissionDiskInfo ¶ added in v1.34.0
type DecommissionDiskInfo struct { SrcAddr string DiskPath string ProgressInfo DecommissionProgress }
type DecommissionDiskLimitDetail ¶ added in v1.34.0
type DecommissionDisksResponse ¶ added in v1.34.0
type DecommissionDisksResponse struct {
Infos []DecommissionDiskInfo
}
type DecommissionFailedDiskInfo ¶ added in v1.34.0
type DecommissionProgress ¶ added in v1.34.0
type DecommissionProgress struct { StatusMessage string Progress string FailedDps []FailedDpInfo IgnoreDps []IgnoreDecommissionDP ResidualDps []IgnoreDecommissionDP StartTime string }
type DecommissionTokenStatus ¶ added in v1.34.0
type DecommissionedDisks ¶ added in v1.34.0
type DelExtentKeyRequest ¶ added in v1.34.0
type DelExtentParam ¶ added in v1.34.0
type DelVerRequest ¶ added in v1.34.0
type DeleteBackupDirectoriesRequest ¶ added in v1.34.0
type DeleteBackupDirectoriesRequest struct {
DiskPath string
}
type DeleteDataPartitionRequest ¶
type DeleteDataPartitionRequest struct { DataPartitionType string PartitionId uint64 PartitionSize int Force bool DecommissionType uint32 }
DeleteDataPartitionRequest defines the request to delete a data partition.
type DeleteDataPartitionResponse ¶
DeleteDataPartitionResponse defines the response to the request of deleting a data partition.
type DeleteDentryRequest ¶
type DeleteDentryRequest struct { VolName string `json:"vol"` PartitionID uint64 `json:"pid"` ParentID uint64 `json:"pino"` Name string `json:"name"` InodeCreateTime int64 `json:"inodeCreateTime"` Verseq uint64 `json:"ver"` RequestExtend }
DeleteDentryRequest define the request tp delete a dentry.
type DeleteDentryResponse ¶
type DeleteDentryResponse struct {
Inode uint64 `json:"ino"`
}
DeleteDentryResponse defines the response to the request of deleting a dentry.
type DeleteFileRequest ¶
DeleteFileRequest defines the request to delete a file.
type DeleteFileResponse ¶
DeleteFileResponse defines the response to the request of deleting a file.
type DeleteInodeBatchRequest ¶ added in v1.34.0
type DeleteInodeBatchRequest struct { VolName string `json:"vol"` PartitionId uint64 `json:"pid"` Inodes []uint64 `json:"ino"` FullPaths []string `json:"fullPaths"` }
DeleteInodeRequest defines the request to delete an inode.
type DeleteInodeRequest ¶ added in v1.5.0
type DeleteInodeRequest struct { VolName string `json:"vol"` PartitionId uint64 `json:"pid"` Inode uint64 `json:"ino"` RequestExtend }
DeleteInodeRequest defines the request to delete an inode.
type DeleteMetaPartitionRequest ¶
type DeleteMetaPartitionRequest struct {
PartitionID uint64
}
DeleteMetaPartitionRequest defines the request of deleting a meta partition.
type DeleteMetaPartitionResponse ¶
DeleteMetaPartitionResponse defines the response to the request of deleting a meta partition.
type Dentry ¶
type Dentry struct { Name string `json:"name"` Inode uint64 `json:"ino"` Type uint32 `json:"type"` }
Dentry defines the dentry struct.
type DentryInfo ¶ added in v1.34.0
type DentryInfo struct { Name string `json:"name"` Inode uint64 `json:"inode"` // contains filtered or unexported fields }
func (*DentryInfo) Expiration ¶ added in v1.34.0
func (info *DentryInfo) Expiration() int64
func (*DentryInfo) SetExpiration ¶ added in v1.34.0
func (info *DentryInfo) SetExpiration(e int64)
type DiscardDataPartitionInfos ¶ added in v1.34.0
type DiscardDataPartitionInfos struct {
DiscardDps []DataPartitionInfo
}
type DiskErrPartitionView ¶ added in v1.34.0
type DiskErrPartitionView struct {
DiskErrReplicas map[uint64][]DiskErrReplicaInfo
}
type DiskErrReplicaInfo ¶ added in v1.34.0
type DomainNodeSetGrpInfoList ¶ added in v1.34.0
type DpRepairInfo ¶ added in v1.34.0
type EmptyExtentKeyRequest ¶ added in v1.34.0
type EvictInodeRequest ¶
type EvictInodeRequest struct { VolName string `json:"vol"` PartitionID uint64 `json:"pid"` Inode uint64 `json:"ino"` RequestExtend }
EvictInodeRequest defines the request to evict an inode.
type ExpirationConfig ¶ added in v1.34.0
type ExpiredMultipartInfo ¶ added in v1.34.0
type ExtSnapInfo ¶ added in v1.34.0
type ExtentKey ¶
type ExtentKey struct { FileOffset uint64 // offset in file PartitionId uint64 ExtentId uint64 ExtentOffset uint64 // offset in extent like tiny extent offset large than 0,normal is 0 Size uint32 // real size that inode used on the extent,it's size may be part of extent real size, such as tinyExt CRC uint32 // snapshot SnapInfo *ExtSnapInfo }
ExtentKey defines the extent key struct.
func (*ExtentKey) GenerateId ¶ added in v1.34.0
func (*ExtentKey) IsCoveredWithDiffSeq ¶ added in v1.34.0
func (*ExtentKey) IsFileInSequence ¶ added in v1.34.0
func (*ExtentKey) IsSameExtent ¶ added in v1.34.0
func (*ExtentKey) IsSequenceWithDiffSeq ¶ added in v1.34.0
func (*ExtentKey) IsSequenceWithSameSeq ¶ added in v1.34.0
func (*ExtentKey) MarshalBinary ¶
MarshalBinary marshals the binary format of the extent key.
func (*ExtentKey) MarshalBinaryExt ¶ added in v1.34.0
func (*ExtentKey) MarshalBinaryWithCheckSum ¶ added in v1.34.0
marshal extentkey to []bytes with v2 of magic head
func (*ExtentKey) UnmarshalBinary ¶
UnmarshalBinary unmarshals the binary format of the extent key.
type FailedDpInfo ¶ added in v1.34.0
type FileInCore ¶ added in v1.5.0
type FileInCore struct { Name string LastModify int64 MetadataArray []*FileMetadata }
FileInCore define file in data partition
type FileMetadata ¶ added in v1.5.0
FileMetadata defines the file metadata on a dataNode
type FilterConfig ¶ added in v1.34.0
type FilterConfig struct {
Prefix string
}
type GcLockExtents ¶ added in v1.34.0
type GeneralResp ¶ added in v1.34.0
func Success ¶ added in v1.34.0
func Success(msg string) *GeneralResp
type GetAllXAttrRequest ¶ added in v1.34.0
type GetAllXAttrResponse ¶ added in v1.34.0
type GetExpiredMultipartRequest ¶ added in v1.34.0
type GetExpiredMultipartResponse ¶ added in v1.34.0
type GetExpiredMultipartResponse struct {
Infos []*ExpiredMultipartInfo `json:"infos"`
}
type GetExtentsRequest ¶
type GetExtentsRequest struct { VolName string `json:"vol"` PartitionID uint64 `json:"pid"` Inode uint64 `json:"ino"` VerSeq uint64 `json:"seq"` VerAll bool }
GetExtentsRequest defines the reques to get extents.
type GetExtentsResponse ¶
type GetExtentsResponse struct { Generation uint64 `json:"gen"` Size uint64 `json:"sz"` Extents []ExtentKey `json:"eks"` LayerInfo []LayerInfo `json:"layer"` Status int }
GetExtentsResponse defines the response to the request of getting extents.
type GetInodeQuotaRequest ¶ added in v1.34.0
type GetInodeQuotaResponse ¶ added in v1.34.0
type GetInodeQuotaResponse struct {
MetaQuotaInfoMap map[uint32]*MetaQuotaInfo
}
type GetMultipartRequest ¶ added in v1.5.0
type GetMultipartResponse ¶ added in v1.5.0
type GetMultipartResponse struct {
Info *MultipartInfo `json:"info"`
}
type GetObjExtentsResponse ¶ added in v1.34.0
type GetObjExtentsResponse struct { Generation uint64 `json:"gen"` Size uint64 `json:"sz"` Extents []ExtentKey `json:"eks"` ObjExtents []ObjExtentKey `json:"objeks"` }
GetObjExtentsResponse defines the response to the request of getting obj extents.
type GetUniqIDRequest ¶ added in v1.34.0
type GetUniqIDResponse ¶ added in v1.34.0
type GetUniqIDResponse struct {
Start uint64 `json:"start"`
}
type GetXAttrRequest ¶ added in v1.5.0
type GetXAttrResponse ¶ added in v1.5.0
type HTTPAuthReply ¶ added in v1.5.0
type HTTPAuthReply = HTTPReply
HTTPAuthReply uniform response structure
func ParseAuthReply ¶ added in v1.5.0
func ParseAuthReply(body []byte) (jobj HTTPAuthReply, err error)
ParseAuthReply parse the response from auth
type HTTPReply ¶
type HTTPReply struct { Code int32 `json:"code"` Msg string `json:"msg"` Data interface{} `json:"data"` }
HTTPReply uniform response structure
type HTTPReplyRaw ¶ added in v1.34.0
type HTTPReplyRaw struct { Code int32 `json:"code"` Msg string `json:"msg"` Data json.RawMessage `json:"data"` }
func (*HTTPReplyRaw) Bytes ¶ added in v1.34.0
func (raw *HTTPReplyRaw) Bytes() []byte
func (*HTTPReplyRaw) Int64 ¶ added in v1.34.0
func (raw *HTTPReplyRaw) Int64() (int64, error)
func (*HTTPReplyRaw) Result ¶ added in v1.34.0
func (raw *HTTPReplyRaw) Result(result interface{}) error
func (*HTTPReplyRaw) String ¶ added in v1.34.0
func (raw *HTTPReplyRaw) String() string
func (*HTTPReplyRaw) Success ¶ added in v1.34.0
func (raw *HTTPReplyRaw) Success() error
func (*HTTPReplyRaw) Uint64 ¶ added in v1.34.0
func (raw *HTTPReplyRaw) Uint64() (uint64, error)
func (*HTTPReplyRaw) Unmarshal ¶ added in v1.34.0
func (raw *HTTPReplyRaw) Unmarshal(body []byte) error
type HeartBeatRequest ¶
type HeartBeatRequest struct { CurrTime int64 MasterAddr string FLReadVols []string QosToDataNode FileStatsEnable bool UidLimitToMetaNode QuotaHeartBeatInfos TxInfos ForbiddenVols []string DisableAuditVols []string DecommissionDisks []string // NOTE: for datanode VolDpRepairBlockSize map[string]uint64 DpBackupTimeout string }
HeartBeatRequest define the heartbeat request.
type IgnoreDecommissionDP ¶ added in v1.34.0
type InodeAccessTime ¶ added in v1.34.0
type InodeGetAccessTimeResponse ¶ added in v1.34.0
type InodeGetAccessTimeResponse struct {
Info *InodeAccessTime `json:"inodeAT"`
}
type InodeGetRequest ¶
type InodeGetRequest struct { VolName string `json:"vol"` PartitionID uint64 `json:"pid"` Inode uint64 `json:"ino"` VerSeq uint64 `json:"seq"` VerAll bool `json:"verAll"` }
InodeGetRequest defines the request to get the inode.
type InodeGetResponse ¶
type InodeGetResponse struct { Info *InodeInfo `json:"info"` LayAll []InodeInfo `json:"layerInfo"` }
InodeGetResponse defines the response to the InodeGetRequest.
type InodeGetSplitRequest ¶ added in v1.34.0
type InodeGetSplitRequest struct { VolName string `json:"vol"` PartitionID uint64 `json:"pid"` Inode uint64 `json:"ino"` VerSeq uint64 `json:"seq"` VerAll bool `json:"verAll"` }
InodeGetRequest defines the request to get the inode.
type InodeGetSplitResponse ¶ added in v1.34.0
type InodeGetSplitResponse struct { Info *InodeSplitInfo `json:"info"` LayAll []InodeSplitInfo `json:"layerInfo"` }
InodeGetResponse defines the response to the InodeGetRequest.
type InodeGetWithPersistAccessTimeResponse ¶ added in v1.34.0
type InodeInfo ¶
type InodeInfo struct { Inode uint64 `json:"ino"` Mode uint32 `json:"mode"` Nlink uint32 `json:"nlink"` Size uint64 `json:"sz"` Uid uint32 `json:"uid"` Gid uint32 `json:"gid"` Generation uint64 `json:"gen"` ModifyTime time.Time `json:"mt"` CreateTime time.Time `json:"ct"` AccessTime time.Time `json:"at"` Target []byte `json:"tgt"` QuotaInfos map[uint32]*MetaQuotaInfo `json:"qifs"` VerSeq uint64 `json:"seq"` PersistAccessTime time.Time `json:"pat"` // contains filtered or unexported fields }
InodeInfo defines the inode struct.
func (*InodeInfo) Expiration ¶ added in v1.34.0
func (*InodeInfo) SetExpiration ¶ added in v1.34.0
type InodeSplitInfo ¶ added in v1.34.0
type InodeSplitInfo struct { Inode uint64 `json:"ino"` SplitArr []SimpleExtInfo `json:"splitInfo"` VerSeq uint64 `json:"seq"` }
InodeInfo defines the inode struct.
type LcConfiguration ¶ added in v1.34.0
func (*LcConfiguration) GenEnabledRuleTasks ¶ added in v1.34.0
func (lcConf *LcConfiguration) GenEnabledRuleTasks() []*RuleTask
type LcNodeHeartbeatResponse ¶ added in v1.34.0
type LcNodeHeartbeatResponse struct { Status uint8 Result string LcTaskCountLimit int LcScanningTasks map[string]*LcNodeRuleTaskResponse SnapshotScanningTasks map[string]*SnapshotVerDelTaskResponse }
LcNodeHeartbeatResponse defines the response to the lc node heartbeat.
type LcNodeRuleTaskRequest ¶ added in v1.34.0
type LcNodeRuleTaskResponse ¶ added in v1.34.0
type LcNodeRuleTaskStatistics ¶ added in v1.34.0
type LimitRsp2Client ¶ added in v1.34.0
type LimitRsp2Client struct { ID uint64 Enable bool ReqPeriod uint32 HitTriggerCnt uint8 FactorMap map[uint32]*ClientLimitInfo Magnify map[uint32]uint32 Version *VersionInfo // contains filtered or unexported fields }
func NewLimitRsp2Client ¶ added in v1.34.0
func NewLimitRsp2Client() *LimitRsp2Client
type LinkInodeRequest ¶
type LinkInodeRequest struct { VolName string `json:"vol"` PartitionID uint64 `json:"pid"` Inode uint64 `json:"ino"` UniqID uint64 `json:"uiq"` IsRename bool `json:"rename"` RequestExtend }
LinkInodeRequest defines the request to link an inode.
type LinkInodeResponse ¶
type LinkInodeResponse struct {
Info *InodeInfo `json:"info"`
}
LinkInodeResponse defines the response to the request of linking an inode.
type ListMasterQuotaResponse ¶ added in v1.34.0
type ListMasterQuotaResponse struct {
Quotas []*QuotaInfo
}
type ListMultipartRequest ¶ added in v1.5.0
type ListMultipartResponse ¶ added in v1.5.0
type ListMultipartResponse struct {
Multiparts []*MultipartInfo `json:"mps"`
}
type ListXAttrRequest ¶ added in v1.5.0
type ListXAttrResponse ¶ added in v1.5.0
type LoadDataPartitionRequest ¶
type LoadDataPartitionRequest struct {
PartitionId uint64
}
LoadDataPartitionRequest defines the request of loading a data partition.
type LoadDataPartitionResponse ¶
type LoadDataPartitionResponse struct { PartitionId uint64 Used uint64 PartitionSnapshot []*File Status uint8 PartitionStatus int Result string VolName string }
LoadDataPartitionResponse defines the response to the request of loading a data partition.
type LoadMetaPartitionMetricRequest ¶
LoadMetaPartitionMetricRequest defines the request of loading the meta partition metrics.
type LoadMetaPartitionMetricResponse ¶
type LoadMetaPartitionMetricResponse struct { Start uint64 End uint64 MaxInode uint64 Status uint8 Result string }
LoadMetaPartitionMetricResponse defines the response to the request of loading the meta partition metrics.
type LockDirRequest ¶ added in v1.34.0
type LockDirResponse ¶ added in v1.34.0
type LookupRequest ¶
type LookupRequest struct { VolName string `json:"vol"` PartitionID uint64 `json:"pid"` ParentID uint64 `json:"pino"` Name string `json:"name"` VerSeq uint64 `json:"seq"` VerAll bool `json:"verAll"` }
LookupRequest defines the request for lookup.
type LookupResponse ¶
type LookupResponse struct { Inode uint64 `json:"ino"` Mode uint32 `json:"mode"` VerSeq uint64 `json:"seq"` LayAll []DetryInfo `json:"layerInfo"` }
LookupResponse defines the response for the loopup request.
type MasterAPIAccessResp ¶ added in v1.5.0
type MasterAPIAccessResp struct { APIResp APIAccessResp `json:"api_resp"` Data []byte `json:"data"` }
MasterAPIAccessResp defines the response for getting meta partition
type MetaNodeHeartbeatResponse ¶
type MetaNodeHeartbeatResponse struct { ZoneName string Total uint64 MemUsed uint64 MetaPartitionReports []*MetaPartitionReport Status uint8 Result string CpuUtil float64 `json:"cpuUtil"` }
MetaNodeHeartbeatResponse defines the response to the meta node heartbeat request.
type MetaNodeInfo ¶ added in v1.5.0
type MetaNodeInfo struct { ID uint64 Addr string DomainAddr string IsActive bool IsWriteAble bool ZoneName string `json:"Zone"` MaxMemAvailWeight uint64 `json:"MaxMemAvailWeight"` Total uint64 `json:"TotalWeight"` Used uint64 `json:"UsedWeight"` Ratio float64 SelectCount uint64 Threshold float32 ReportTime time.Time MetaPartitionCount int NodeSetID uint64 PersistenceMetaPartitions []uint64 RdOnly bool CanAllowPartition bool MaxMpCntLimit uint32 CpuUtil float64 `json:"cpuUtil"` }
MetaNode defines the structure of a meta node
type MetaPartitionDecommissionRequest ¶
type MetaPartitionDecommissionRequest struct { PartitionID uint64 VolName string RemovePeer Peer AddPeer Peer }
MetaPartitionDecommissionRequest defines the request of decommissioning a meta partition.
type MetaPartitionDecommissionResponse ¶
type MetaPartitionDecommissionResponse struct { PartitionID uint64 VolName string Status uint8 Result string }
MetaPartitionDecommissionResponse defines the response to the request of decommissioning a meta partition.
type MetaPartitionDiagnosis ¶ added in v1.34.0
type MetaPartitionDiagnosis struct { InactiveMetaNodes []string CorruptMetaPartitionIDs []uint64 LackReplicaMetaPartitionIDs []uint64 BadMetaPartitionIDs []BadPartitionView BadReplicaMetaPartitionIDs []uint64 ExcessReplicaMetaPartitionIDs []uint64 InodeCountNotEqualReplicaMetaPartitionIDs []uint64 MaxInodeNotEqualReplicaMetaPartitionIDs []uint64 DentryCountNotEqualReplicaMetaPartitionIDs []uint64 }
meta partition diagnosis represents the inactive meta nodes, corrupt meta partitions, and meta partitions lack of replicas
type MetaPartitionInfo ¶ added in v1.5.0
type MetaPartitionInfo struct { PartitionID uint64 Start uint64 End uint64 MaxInodeID uint64 InodeCount uint64 DentryCount uint64 VolName string Replicas []*MetaReplicaInfo ReplicaNum uint8 Status int8 IsRecover bool Hosts []string Peers []Peer Zones []string NodeSets []uint64 OfflinePeerID uint64 MissNodes map[string]int64 LoadResponse []*MetaPartitionLoadResponse Forbidden bool }
MetaPartition defines the structure of a meta partition
type MetaPartitionLoadRequest ¶
type MetaPartitionLoadRequest struct {
PartitionID uint64
}
MetaPartitionLoadRequest defines the request to load meta partition.
type MetaPartitionLoadResponse ¶
type MetaPartitionLoadResponse struct { PartitionID uint64 DoCompare bool ApplyID uint64 CommittedID uint64 MaxInode uint64 DentryCount uint64 InodeCount uint64 Addr string }
MetaPartitionLoadResponse defines the response to the request of loading meta partition.
type MetaPartitionReport ¶
type MetaPartitionReport struct { PartitionID uint64 Start uint64 End uint64 Status int Size uint64 MaxInodeID uint64 IsLeader bool VolName string InodeCnt uint64 DentryCnt uint64 TxCnt uint64 TxRbInoCnt uint64 TxRbDenCnt uint64 FreeListLen uint64 UidInfo []*UidReportSpaceInfo QuotaReportInfos []*QuotaReportInfo }
MetaPartitionReport defines the meta partition report.
type MetaPartitionView ¶
type MetaPartitionView struct { PartitionID uint64 Start uint64 End uint64 MaxInodeID uint64 InodeCount uint64 DentryCount uint64 FreeListLen uint64 TxCnt uint64 TxRbInoCnt uint64 TxRbDenCnt uint64 IsRecover bool Members []string LeaderAddr string Status int8 }
MetaPartitionView defines the view of a meta partition
func NewMetaPartitionView ¶
func NewMetaPartitionView(partitionID, start, end uint64, status int8) (mpView *MetaPartitionView)
type MetaQuotaInfo ¶ added in v1.34.0
type MetaQuotaInfo struct {
RootInode bool `json:"rid"`
}
type MetaQuotaInfos ¶ added in v1.34.0
type MetaQuotaInfos struct { QuotaInfoMap map[uint32]*MetaQuotaInfo sync.RWMutex }
type MetaReplicaInfo ¶ added in v1.5.0
type MetaReplicaInfo struct { Addr string DomainAddr string MaxInodeID uint64 ReportTime int64 Status int8 // unavailable, readOnly, readWrite IsLeader bool InodeCount uint64 MaxInode uint64 DentryCount uint64 }
MetaReplica defines the replica of a meta partition
type MountOption ¶ added in v1.34.0
type MountOption struct {
// contains filtered or unexported fields
}
func NewMountOptions ¶ added in v1.34.0
func NewMountOptions() []MountOption
func (*MountOption) GetBool ¶ added in v1.34.0
func (opt *MountOption) GetBool() bool
func (*MountOption) GetInt64 ¶ added in v1.34.0
func (opt *MountOption) GetInt64() int64
func (*MountOption) GetString ¶ added in v1.34.0
func (opt *MountOption) GetString() string
func (MountOption) String ¶ added in v1.34.0
func (opt MountOption) String() string
type MountOptions ¶ added in v1.34.0
type MountOptions struct { Config *config.Config MountPoint string Volname string Owner string Master string Logpath string Loglvl string Profport string LocallyProf bool IcacheTimeout int64 LookupValid int64 AttrValid int64 ReadRate int64 WriteRate int64 EnSyncWrite int64 AutoInvalData int64 UmpDatadir string Rdonly bool WriteCache bool KeepCache bool FollowerRead bool Authenticate bool TicketMess auth.TicketMess TokenKey string AccessKey string SecretKey string DisableDcache bool SubDir string FsyncOnClose bool MaxCPUs int64 EnableXattr bool NearRead bool EnablePosixACL bool EnableQuota bool EnableTransaction string TxTimeout int64 TxConflictRetryNum int64 TxConflictRetryInterval int64 VolType int EbsEndpoint string EbsServicePath string CacheAction int CacheThreshold int EbsBlockSize int EnableBcache bool BcacheDir string BcacheFilterFiles string BcacheCheckIntervalS int64 BcacheBatchCnt int64 ReadThreads int64 WriteThreads int64 EnableSummary bool EnableUnixPermission bool NeedRestoreFuse bool MetaSendTimeout int64 BuffersTotalLimit int64 BufferChanSize int64 MaxStreamerLimit int64 EnableAudit bool RequestTimeout int64 MinWriteAbleDataPartitionCnt int FileSystemName string // TrashInterval int64 TrashDeleteExpiredDirGoroutineLimit int64 TrashRebuildGoroutineLimit int64 VerReadSeq uint64 // disable mount subtype DisableMountSubtype bool // stream retry timeout StreamRetryTimeout int }
type MsgType ¶ added in v1.5.0
type MsgType uint32
MsgType defines the type of req/resp for message
const ( // MsgAuthBase define the starting value for auth message MsgAuthBase MsgType = 0x100000 // MsgAuthTicketReq request type for an auth ticket MsgAuthTicketReq MsgType = MsgAuthBase + 0x10000 // MsgAuthTicketResp respose type for an auth ticket MsgAuthTicketResp MsgType = MsgAuthBase + 0x10001 // MsgMasterTicketReq request type for a master ticket MsgMasterTicketReq MsgType = MsgAuthBase + 0x20000 // MsgMasterTicketResp response type for a master ticket MsgMasterTicketResp MsgType = MsgAuthBase + 0x20001 // MsgMetaTicketReq request type for a metanode ticket MsgMetaTicketReq MsgType = MsgAuthBase + 0x30000 // MsgMetaTicketResp response type for a metanode ticket MsgMetaTicketResp MsgType = MsgAuthBase + 0x30001 // MsgDataTicketReq request type for a datanode ticket MsgDataTicketReq MsgType = MsgAuthBase + 0x40000 // MsgDataTicketResp response type for a datanode ticket MsgDataTicketResp MsgType = MsgAuthBase + 0x40001 // MsgAuthCreateKeyReq request type for authnode add key MsgAuthCreateKeyReq MsgType = MsgAuthBase + 0x51000 // MsgAuthCreateKeyResp response type for authnode add key MsgAuthCreateKeyResp MsgType = MsgAuthBase + 0x51001 // MsgAuthDeleteKeyReq request type for authnode delete key MsgAuthDeleteKeyReq MsgType = MsgAuthBase + 0x52000 // MsgAuthDeleteKeyResp response type for authnode delete key MsgAuthDeleteKeyResp MsgType = MsgAuthBase + 0x52001 // MsgAuthGetKeyReq request type for authnode get key info MsgAuthGetKeyReq MsgType = MsgAuthBase + 0x53000 // MsgAuthGetKeyResp response type for authnode get key info MsgAuthGetKeyResp MsgType = MsgAuthBase + 0x53001 // MsgAuthAddCapsReq request type for authnode add caps MsgAuthAddCapsReq MsgType = MsgAuthBase + 0x54000 // MsgAuthAddCapsResp response type for authnode add caps MsgAuthAddCapsResp MsgType = MsgAuthBase + 0x54001 // MsgAuthDeleteCapsReq request type for authnode add caps MsgAuthDeleteCapsReq MsgType = MsgAuthBase + 0x55000 // MsgAuthDeleteCapsResp response type for authnode add caps MsgAuthDeleteCapsResp MsgType = MsgAuthBase + 0x55001 // MsgAuthGetCapsReq request type for authnode add caps MsgAuthGetCapsReq MsgType = MsgAuthBase + 0x56000 // MsgAuthGetCapsResp response type for authnode add caps MsgAuthGetCapsResp MsgType = MsgAuthBase + 0x56001 // MsgAuthAddRaftNodeReq request type for authnode add node MsgAuthAddRaftNodeReq MsgType = MsgAuthBase + 0x57000 // MsgAuthAddRaftNodeResp response type for authnode remove node MsgAuthAddRaftNodeResp MsgType = MsgAuthBase + 0x57001 // MsgAuthRemoveRaftNodeReq request type for authnode remove node MsgAuthRemoveRaftNodeReq MsgType = MsgAuthBase + 0x58000 // MsgAuthRemoveRaftNodeResp response type for authnode remove node MsgAuthRemoveRaftNodeResp MsgType = MsgAuthBase + 0x58001 // MsgAuthOSAddCapsReq request type from ObjectNode to add caps MsgAuthOSAddCapsReq MsgType = MsgAuthBase + 0x61000 // MsgAuthOSAddCapsResp request type from ObjectNode to add caps MsgAuthOSAddCapsResp MsgType = MsgAuthBase + 0x61001 // MsgAuthOSDeleteCapsReq request type from ObjectNode to delete caps MsgAuthOSDeleteCapsReq MsgType = MsgAuthBase + 0x62000 // MsgAuthOSDeleteCapsResp request type from ObjectNode to delete caps MsgAuthOSDeleteCapsResp MsgType = MsgAuthBase + 0x62001 // MsgAuthOSGetCapsReq request type from ObjectNode to get caps MsgAuthOSGetCapsReq MsgType = MsgAuthBase + 0x63000 // MsgAuthOSGetCapsResp response type from ObjectNode to get caps MsgAuthOSGetCapsResp MsgType = MsgAuthBase + 0x63001 // MsgMasterAPIAccessReq request type for master api access MsgMasterAPIAccessReq MsgType = 0x60000 // MsgMasterAPIAccessResp response type for master api access MsgMasterAPIAccessResp MsgType = 0x60001 // Master API ClientVol MsgMasterFetchVolViewReq MsgType = MsgMasterAPIAccessReq + 0x10000 // Master API cluster management MsgMasterClusterFreezeReq MsgType = MsgMasterAPIAccessReq + 0x20100 MsgMasterAddRaftNodeReq MsgType = MsgMasterAPIAccessReq + 0x20200 MsgMasterRemoveRaftNodeReq MsgType = MsgMasterAPIAccessReq + 0x20300 MsgMasterSetNodeInfoReq MsgType = MsgMasterAPIAccessReq + 0x20400 MsgMasterSetNodeRdOnlyReq MsgType = MsgMasterAPIAccessReq + 0x20500 MsgMasterAutoDecommissionReq MsgType = MsgMasterAPIAccessReq + 0x20600 // Master API volume management MsgMasterCreateVolReq MsgType = MsgMasterAPIAccessReq + 0x30100 MsgMasterDeleteVolReq MsgType = MsgMasterAPIAccessReq + 0x30200 MsgMasterUpdateVolReq MsgType = MsgMasterAPIAccessReq + 0x30300 MsgMasterVolShrinkReq MsgType = MsgMasterAPIAccessReq + 0x30400 MsgMasterVolExpandReq MsgType = MsgMasterAPIAccessReq + 0x30500 // Master API meta partition management MsgMasterLoadMetaPartitionReq MsgType = MsgMasterAPIAccessReq + 0x40100 MsgMasterDecommissionMetaPartitionReq MsgType = MsgMasterAPIAccessReq + 0x40200 MsgMasterChangeMetaPartitionLeaderReq MsgType = MsgMasterAPIAccessReq + 0x40300 MsgMasterCreateMetaPartitionReq MsgType = MsgMasterAPIAccessReq + 0x40400 MsgMasterAddMetaReplicaReq MsgType = MsgMasterAPIAccessReq + 0x40500 MsgMasterDeleteMetaReplicaReq MsgType = MsgMasterAPIAccessReq + 0x40600 MsgMasterQosUpdateReq MsgType = MsgMasterAPIAccessReq + 0x40700 MsgMasterQosUpdateZoneLimitReq MsgType = MsgMasterAPIAccessReq + 0x40800 MsgMasterQosUpdateMasterLimitReq MsgType = MsgMasterAPIAccessReq + 0x40900 MsgMasterQosUpdateClientParamReq MsgType = MsgMasterAPIAccessReq + 0x40a00 // Master API data partition management MsgMasterCreateDataPartitionReq MsgType = MsgMasterAPIAccessReq + 0x50100 MsgMasterDataPartitionChangeLeaderReq MsgType = MsgMasterAPIAccessReq + 0x50200 MsgMasterLoadDataPartitionReq MsgType = MsgMasterAPIAccessReq + 0x50300 MsgMasterDecommissionDataPartitionReq MsgType = MsgMasterAPIAccessReq + 0x50400 MsgMasterAddDataReplicaReq MsgType = MsgMasterAPIAccessReq + 0x50500 MsgMasterDeleteDataReplicaReq MsgType = MsgMasterAPIAccessReq + 0x50600 MsgMasterSetDpRdOnlyReq MsgType = MsgMasterAPIAccessReq + 0x50700 MsgMasterReportLackDataPartitions MsgType = MsgMasterAPIAccessReq + 0x50800 // Master API meta node management MsgMasterAddMetaNodeReq MsgType = MsgMasterAPIAccessReq + 0x60100 MsgMasterDecommissionMetaNodeReq MsgType = MsgMasterAPIAccessReq + 0x60200 MsgMasterMigrateMetaNodeReq MsgType = MsgMasterAPIAccessReq + 0x60300 MsgMasterSetMetaNodeThresholdReq MsgType = MsgMasterAPIAccessReq + 0x60400 MsgMasterUpdateMetaNodeReq MsgType = MsgMasterAPIAccessReq + 0x60500 // Master API data node management MsgMasterAddDataNodeReq MsgType = MsgMasterAPIAccessReq + 0x70100 MsgMasterDecommissionDataNodeReq MsgType = MsgMasterAPIAccessReq + 0x70200 MsgMasterMigrateDataNodeReq MsgType = MsgMasterAPIAccessReq + 0x70300 MsgMasterCancelDecommissionDataNodeReq MsgType = MsgMasterAPIAccessReq + 0x70400 MsgMasterDecommissionDiskReq MsgType = MsgMasterAPIAccessReq + 0x70500 MsgMasterUpdateNodeSetCapcityReq MsgType = MsgMasterAPIAccessReq + 0x70600 MsgMasterUpdateNodeSetIdReq MsgType = MsgMasterAPIAccessReq + 0x70700 MsgMasterUpdateDomainDataUseRatioReq MsgType = MsgMasterAPIAccessReq + 0x70800 MsgMasterUpdateZoneExcludeRatioReq MsgType = MsgMasterAPIAccessReq + 0x70900 MsgMasterRecommissionDiskReq MsgType = MsgMasterAPIAccessReq + 0x70a00 // Master API user management MsgMasterUserCreateReq MsgType = MsgMasterAPIAccessReq + 0x80100 MsgMasterUserDeleteReq MsgType = MsgMasterAPIAccessReq + 0x80200 MsgMasterUserUpdateReq MsgType = MsgMasterAPIAccessReq + 0x80300 MsgMasterUserUpdatePolicyReq MsgType = MsgMasterAPIAccessReq + 0x80400 MsgMasterUserRemovePolicyReq MsgType = MsgMasterAPIAccessReq + 0x80500 MsgMasterUserDeleteVolPolicyReq MsgType = MsgMasterAPIAccessReq + 0x80600 MsgMasterUserTransferVolReq MsgType = MsgMasterAPIAccessReq + 0x80700 // Master API zone management MsgMasterUpdateZoneReq MsgType = MsgMasterAPIAccessReq + 0x90100 )
type MultiVersionOpRequest ¶ added in v1.34.0
type MultiVersionOpRequest struct { VolumeID string VerSeq uint64 Op uint8 Addr string VolVerList []*VolVersionInfo }
MultiVersionOpRequest defines the request of
type MultiVersionOpResponse ¶ added in v1.34.0
type MultiVersionOpResponse struct { VolumeID string Addr string Op uint8 VerSeq uint64 Status uint8 Result string }
MultiVersionOpResponse defines the response to the request of l.
type MultipartInfo ¶ added in v1.5.0
type MultipartPartInfo ¶ added in v1.5.0
type NodeSetInfo ¶ added in v1.34.0
type NodeSetStat ¶ added in v1.34.0
type NodeSetStatInfo ¶ added in v1.34.0
type NodeSetStatInfo struct { ID uint64 Capacity int Zone string CanAllocMetaNodeCnt int CanAllocDataNodeCnt int MetaNodes []*NodeStatView DataNodes []*NodeStatView DataNodeSelector string MetaNodeSelector string }
type NodeSetView ¶ added in v1.34.0
type NodeStatInfo ¶ added in v1.5.0
type NodeStatView ¶ added in v1.34.0
type Nonce ¶ added in v1.5.0
type Nonce uint64
Nonce defines the nonce to mitigate the replay attack
type ObjExtentKey ¶ added in v1.34.0
type ObjExtentKey struct { Cid uint64 // cluster id CodeMode uint8 // EC encode and decode mode BlobSize uint32 // block size BlobsLen uint32 // blob array length Size uint64 // objExtentKey size Blobs []Blob FileOffset uint64 // obj offset in file Crc uint32 // snapshot VerSeq uint64 ModGen uint64 }
ObjExtentKey defines the extent key struct.
func (*ObjExtentKey) Copy ¶ added in v1.34.0
func (k *ObjExtentKey) Copy() btree.Item
Marshal marshals the obj extent key.
func (*ObjExtentKey) IsEquals ¶ added in v1.34.0
func (k *ObjExtentKey) IsEquals(obj *ObjExtentKey) bool
func (*ObjExtentKey) Less ¶ added in v1.34.0
func (k *ObjExtentKey) Less(than btree.Item) bool
Less defines the less comparator.
func (*ObjExtentKey) MarshalBinary ¶ added in v1.34.0
func (k *ObjExtentKey) MarshalBinary() ([]byte, error)
MarshalBinary marshals the binary format of the extent key.
func (ObjExtentKey) String ¶ added in v1.34.0
func (k ObjExtentKey) String() string
String returns the string format of the extentKey.
func (*ObjExtentKey) UnmarshalBinary ¶ added in v1.34.0
func (k *ObjExtentKey) UnmarshalBinary(buf *bytes.Buffer) (err error)
type Packet ¶
type Packet struct { Magic uint8 ExtentType uint8 // the highest bit be set while rsp to client if version not consistent then Verseq be valid Opcode uint8 ResultCode uint8 RemainingFollowers uint8 CRC uint32 Size uint32 ArgLen uint32 KernelOffset uint64 PartitionID uint64 ExtentID uint64 ExtentOffset int64 ReqID int64 Arg []byte // for create or append ops, the data contains the address Data []byte StartT int64 HasPrepare bool VerSeq uint64 // only used in mod request to datanode VerList []*VolVersionInfo // contains filtered or unexported fields }
Packet defines the packet structure.
func NewPacketReqID ¶
func NewPacketReqID() *Packet
NewPacketReqID returns a new packet with ReqID assigned.
func (*Packet) AddMesgLog ¶ added in v1.4.0
func (*Packet) GetOpMsgWithReqAndResult ¶ added in v1.34.0
func (*Packet) GetResultMsg ¶
GetResultMsg returns the result message.
func (*Packet) GetStoreType ¶
GetStoreType returns the store type.
func (*Packet) GetUniqueLogId ¶
GetUniqueLogId returns the unique log ID.
func (*Packet) IsBatchDeleteExtents ¶ added in v1.34.0
func (*Packet) IsBatchLockNormalExtents ¶ added in v1.34.0
func (*Packet) IsBatchUnlockNormalExtents ¶ added in v1.34.0
func (*Packet) IsForwardPkt ¶
IsForwardPkt returns if the packet is the forward packet (a packet that will be forwarded to the followers).
func (*Packet) IsRandomWrite ¶ added in v1.34.0
func (*Packet) IsReadOperation ¶ added in v1.34.0
func (*Packet) IsVersionList ¶ added in v1.34.0
func (*Packet) IsWriteOperation ¶ added in v1.34.0
func (*Packet) LogMessage ¶
LogMessage logs the given message.
func (*Packet) MarshalData ¶
MarshalData marshals the packet data.
func (*Packet) MarshalHeader ¶
MarshalHeader marshals the packet header.
func (*Packet) MarshalVersionSlice ¶ added in v1.34.0
func (*Packet) PacketErrorWithBody ¶
PacketErrorWithBody sets the packet with error code whose body is filled with the given data.
func (*Packet) PacketOkReply ¶
func (p *Packet) PacketOkReply()
PacketOkReply sets the result code as OpOk, and sets the body as empty.
func (*Packet) PacketOkWithBody ¶
PacketOkWithBody sets the result code as OpOk, and sets the body with the give data.
func (*Packet) PacketOkWithByte ¶ added in v1.34.0
attention use for tmp byte arr, eg: json marshal data
func (*Packet) ReadFromConn ¶
ReadFromConn reads the data from the given connection.
func (*Packet) ReadFromConnWithVer ¶ added in v1.34.0
ReadFromConn reads the data from the given connection. Recognize the version bit and parse out version, to avoid version field rsp back , the rsp of random write from datanode with replace OpRandomWriteVer to OpRandomWriteVerRsp
func (*Packet) SetPacketHasPrepare ¶ added in v1.4.0
func (p *Packet) SetPacketHasPrepare()
func (*Packet) SetPacketRePrepare ¶ added in v1.4.0
func (p *Packet) SetPacketRePrepare()
func (*Packet) ShouldRetry ¶
ShallRetry returns if we should retry the packet.
func (*Packet) ShouldRetryWithVersionList ¶ added in v1.34.0
ShallRetry returns if we should retry the packet.
func (*Packet) UnmarshalData ¶
UnmarshalData unmarshals the packet data.
func (*Packet) UnmarshalHeader ¶
UnmarshalHeader unmarshals the packet header.
func (*Packet) UnmarshalVersionSlice ¶ added in v1.34.0
func (*Packet) WriteToConn ¶
WriteToConn writes through the given connection.
type Permission ¶ added in v1.34.0
type Permission string
const ( // prefixes for value organization PermissionPrefix Permission = "perm:" BuiltinPermissionPrefix Permission = PermissionPrefix + "builtin:" CustomPermissionPrefix Permission = PermissionPrefix + "custom:" // constants for builtin permissions BuiltinPermissionReadOnly Permission = BuiltinPermissionPrefix + "ReadOnly" BuiltinPermissionWritable Permission = BuiltinPermissionPrefix + "Writable" // constants for unknown permission NonePermission Permission = "" )
func NewCustomPermission ¶ added in v1.34.0
func NewCustomPermission(name string) Permission
func ParsePermission ¶ added in v1.34.0
func ParsePermission(value string) Permission
func (Permission) IsBuiltin ¶ added in v1.34.0
func (p Permission) IsBuiltin() bool
func (Permission) IsCustom ¶ added in v1.34.0
func (p Permission) IsCustom() bool
func (Permission) IsNone ¶ added in v1.34.0
func (p Permission) IsNone() bool
func (Permission) MatchSubdir ¶ added in v1.34.0
func (p Permission) MatchSubdir(subdir string) bool
func (Permission) ReadableString ¶ added in v1.34.0
func (p Permission) ReadableString() string
func (Permission) String ¶ added in v1.34.0
func (p Permission) String() string
func (Permission) Valid ¶ added in v1.34.0
func (p Permission) Valid() bool
type QosToDataNode ¶ added in v1.34.0
type QuotaCreateDentryRequest ¶ added in v1.34.0
type QuotaCreateDentryRequest struct { VolName string `json:"vol"` PartitionID uint64 `json:"pid"` ParentID uint64 `json:"pino"` Inode uint64 `json:"ino"` Name string `json:"name"` Mode uint32 `json:"mode"` QuotaIds []uint32 `json:"qids"` VerSeq uint64 `json:"seq"` RequestExtend }
CreateDentryRequest defines the request to create a dentry.
type QuotaCreateInodeRequest ¶ added in v1.34.0
type QuotaCreateInodeRequest struct { VolName string `json:"vol"` PartitionID uint64 `json:"pid"` Mode uint32 `json:"mode"` Uid uint32 `json:"uid"` Gid uint32 `json:"gid"` Target []byte `json:"tgt"` QuotaIds []uint32 `json:"qids"` RequestExtend }
CreateInodeRequest defines the request to create an inode.
type QuotaHeartBeatInfo ¶ added in v1.34.0
type QuotaHeartBeatInfo struct { VolName string QuotaId uint32 LimitedInfo QuotaLimitedInfo Enable bool }
type QuotaHeartBeatInfos ¶ added in v1.34.0
type QuotaHeartBeatInfos struct {
QuotaHbInfos []*QuotaHeartBeatInfo
}
type QuotaInfo ¶ added in v1.34.0
type QuotaInfo struct { VolName string QuotaId uint32 CTime int64 PathInfos []QuotaPathInfo LimitedInfo QuotaLimitedInfo UsedInfo QuotaUsedInfo MaxFiles uint64 MaxBytes uint64 Rsv string }
func (*QuotaInfo) IsOverQuotaBytes ¶ added in v1.34.0
func (*QuotaInfo) IsOverQuotaFiles ¶ added in v1.34.0
type QuotaLimitedInfo ¶ added in v1.34.0
type QuotaPathInfo ¶ added in v1.34.0
type QuotaReportInfo ¶ added in v1.34.0
type QuotaReportInfo struct { QuotaId uint32 UsedInfo QuotaUsedInfo }
type QuotaUsedInfo ¶ added in v1.34.0
func (*QuotaUsedInfo) Add ¶ added in v1.34.0
func (usedInfo *QuotaUsedInfo) Add(info *QuotaUsedInfo)
type ReadDirLimitRequest ¶ added in v1.34.0
type ReadDirLimitRequest struct { VolName string `json:"vol"` PartitionID uint64 `json:"pid"` ParentID uint64 `json:"pino"` Marker string `json:"marker"` Limit uint64 `json:"limit"` VerSeq uint64 `json:"seq"` VerOpt uint8 `json:"VerOpt"` }
ReadDirLimitRequest defines the request to read dir with limited dentries.
type ReadDirLimitResponse ¶ added in v1.34.0
type ReadDirLimitResponse struct {
Children []Dentry `json:"children"`
}
type ReadDirOnlyRequest ¶ added in v1.34.0
type ReadDirOnlyResponse ¶ added in v1.34.0
type ReadDirOnlyResponse struct {
Children []Dentry `json:"children"`
}
type ReadDirRequest ¶
type ReadDirRequest struct { VolName string `json:"vol"` PartitionID uint64 `json:"pid"` ParentID uint64 `json:"pino"` VerSeq uint64 `json:"seq"` }
ReadDirRequest defines the request to read dir.
type ReadDirResponse ¶
type ReadDirResponse struct {
Children []Dentry `json:"children"`
}
ReadDirResponse defines the response to the request of reading dir.
type RecoverBackupDataReplicaRequest ¶ added in v1.34.0
type RecoverBadDiskRequest ¶ added in v1.34.0
type RecoverBadDiskRequest struct {
DiskPath string
}
type RecoverDataReplicaMetaRequest ¶ added in v1.34.0
type RegisterMetaNodeResp ¶
type RegisterMetaNodeResp struct {
ID uint64
}
RegisterMetaNodeResp defines the response to register a meta node.
type RemoveDataPartitionRaftMemberRequest ¶ added in v1.4.0
type RemoveDataPartitionRaftMemberRequest struct { PartitionId uint64 RemovePeer Peer Force bool AutoRemove bool }
RemoveDataPartitionRaftMemberRequest defines the request of add raftMember a data partition.
type RemoveMetaPartitionRaftMemberRequest ¶ added in v1.4.0
RemoveMetaPartitionRaftMemberRequest defines the request of add raftMember a meta partition.
type RemoveMultipartRequest ¶ added in v1.5.0
type RemoveXAttrRequest ¶ added in v1.5.0
type RequestExtend ¶ added in v1.34.0
type RequestExtend struct {
FullPaths []string `json:"fullPaths"`
}
func (*RequestExtend) GetFullPath ¶ added in v1.34.0
func (r *RequestExtend) GetFullPath() string
NOTE: batch request may have multi full path values, but other request only have one
type Rule ¶ added in v1.34.0
type Rule struct { Expire *ExpirationConfig Filter *FilterConfig ID string Status string }
type S3QoSResponse ¶ added in v1.34.0
type S3QoSResponse struct { ApiLimitConf map[string]*UserLimitConf `json:"user_limit_conf"` // api --> userLimitConf Nodes uint64 `json:"nodes"` }
type S3QosRequest ¶ added in v1.34.0
type ScanDentry ¶ added in v1.34.0
type ScanDentry struct { ParentId uint64 `json:"pid"` // FileID value of the parent inode. Inode uint64 `json:"inode"` // FileID value of the current inode. Name string `json:"name"` // Name of the current dentry. Path string `json:"path"` // Path of the current dentry. Type uint32 `json:"type"` // Type of the current dentry. }
type SetAttrRequest ¶
type SetAttrRequest struct { VolName string `json:"vol"` PartitionID uint64 `json:"pid"` Inode uint64 `json:"ino"` Mode uint32 `json:"mode"` Uid uint32 `json:"uid"` Gid uint32 `json:"gid"` ModifyTime int64 `json:"mt"` AccessTime int64 `json:"at"` Valid uint32 `json:"valid"` VerSeq uint64 `json:"seq"` }
SetAttrRequest defines the request to set attribute.
type SetMasterQuotaReuqest ¶ added in v1.34.0
type SetMasterQuotaReuqest struct { VolName string `json:"vol"` PathInfos []QuotaPathInfo `json:"pinfos"` MaxFiles uint64 `json:"mf"` MaxBytes uint64 `json:"mbyte"` }
type SetXAttrRequest ¶ added in v1.5.0
type SimpleExtInfo ¶ added in v1.34.0
type SimpleNodeSetGrpInfo ¶ added in v1.34.0
type SimpleNodeSetGrpInfo struct { ID uint64 Status uint8 NodeSetInfo []NodeSetInfo }
type SimpleNodeSetGrpInfoList ¶ added in v1.34.0
type SimpleNodeSetGrpInfoList struct { DomainId uint64 Status uint8 SimpleNodeSetGrpInfo []*SimpleNodeSetGrpInfo }
type SimpleVolView ¶
type SimpleVolView struct { ID uint64 Name string Owner string ZoneName string DpReplicaNum uint8 MpReplicaNum uint8 InodeCount uint64 DentryCount uint64 MaxMetaPartitionID uint64 Status uint8 Capacity uint64 // GB RwDpCnt int MpCnt int DpCnt int FollowerRead bool NeedToLowerReplica bool Authenticate bool CrossZone bool DefaultPriority bool DomainOn bool CreateTime string DeleteLockTime int64 EnableToken bool EnablePosixAcl bool EnableQuota bool EnableTransactionV1 string EnableTransaction string TxTimeout int64 TxConflictRetryNum int64 TxConflictRetryInterval int64 TxOpLimit int Description string DpSelectorName string DpSelectorParm string DefaultZonePrior bool DpReadOnlyWhenVolFull bool VolType int ObjBlockSize int CacheCapacity uint64 CacheAction int CacheThreshold int CacheHighWater int CacheLowWater int CacheLruInterval int CacheTtl int CacheRule string PreloadCapacity uint64 Uids []UidSimpleInfo TrashInterval int64 // multi version snapshot LatestVer uint64 Forbidden bool DisableAuditLog bool DeleteExecTime time.Time DpRepairBlockSize uint64 EnableAutoDpMetaRepair bool AccessTimeInterval int64 EnablePersistAccessTime bool }
SimpleVolView defines the simple view of a volume
type SnapshotStatistics ¶ added in v1.34.0
type SnapshotVerDelTask ¶ added in v1.34.0
type SnapshotVerDelTask struct { Id string VolName string VolVersionInfo *VolVersionInfo }
type SnapshotVerDelTaskRequest ¶ added in v1.34.0
type SnapshotVerDelTaskRequest struct { MasterAddr string LcNodeAddr string Task *SnapshotVerDelTask }
type SnapshotVerDelTaskResponse ¶ added in v1.34.0
type StopDataPartitionRepairRequest ¶ added in v1.34.0
type StopDataPartitionRepairResponse ¶ added in v1.34.0
DeleteDataPartitionResponse defines the response to the request of deleting a data partition.
type SummaryInfo ¶ added in v1.34.0
type TinyExtentDeleteRecord ¶
type TopologyView ¶ added in v1.34.0
type TopologyView struct {
Zones []*ZoneView
}
TopologyView provides the view of the topology view of the cluster
type TransactionInfo ¶ added in v1.34.0
type TransactionInfo struct { TxID string // "metapartitionId_atomicId", if empty, mp should be TM, otherwise it will be RM TxType uint32 TmID int64 CreateTime int64 // time.Now() Timeout int64 // minutes State int32 DoneTime int64 // time.now() RMFinish bool // used to check whether tx success on target rm. // once insert to txTree, not change inode & dentry ifo TxInodeInfos map[uint64]*TxInodeInfo TxDentryInfos map[string]*TxDentryInfo LastCheckTime int64 }
func NewTransactionInfo ¶ added in v1.34.0
func NewTransactionInfo(timeout int64, txType uint32) *TransactionInfo
func NewTxInfoBItem ¶ added in v1.34.0
func NewTxInfoBItem(txId string) *TransactionInfo
func (*TransactionInfo) CanDelete ¶ added in v1.34.0
func (tx *TransactionInfo) CanDelete() bool
func (*TransactionInfo) Copy ¶ added in v1.34.0
func (txInfo *TransactionInfo) Copy() btree.Item
Copy returns a copy of the inode.
func (*TransactionInfo) Finish ¶ added in v1.34.0
func (tx *TransactionInfo) Finish() bool
func (*TransactionInfo) GetCopy ¶ added in v1.34.0
func (txInfo *TransactionInfo) GetCopy() *TransactionInfo
func (*TransactionInfo) GetInfo ¶ added in v1.34.0
func (txInfo *TransactionInfo) GetInfo() string
func (*TransactionInfo) GroupByMp ¶ added in v1.34.0
func (tx *TransactionInfo) GroupByMp() map[uint64]*TxMpInfo
func (*TransactionInfo) IsDone ¶ added in v1.34.0
func (tx *TransactionInfo) IsDone() bool
func (*TransactionInfo) IsExpired ¶ added in v1.34.0
func (txInfo *TransactionInfo) IsExpired() (expired bool)
func (*TransactionInfo) IsInitialized ¶ added in v1.34.0
func (txInfo *TransactionInfo) IsInitialized() bool
func (*TransactionInfo) Less ¶ added in v1.34.0
func (txInfo *TransactionInfo) Less(than btree.Item) bool
Less tests whether the current TransactionInfo item is less than the given one. This method is necessary fot B-Tree item implementation.
func (*TransactionInfo) Marshal ¶ added in v1.34.0
func (txInfo *TransactionInfo) Marshal() (result []byte, err error)
func (*TransactionInfo) NeedClearOrphan ¶ added in v1.34.0
func (tx *TransactionInfo) NeedClearOrphan() bool
func (*TransactionInfo) SetCreateInodeId ¶ added in v1.34.0
func (tx *TransactionInfo) SetCreateInodeId(ino uint64)
func (*TransactionInfo) SetFinish ¶ added in v1.34.0
func (tx *TransactionInfo) SetFinish()
func (*TransactionInfo) String ¶ added in v1.34.0
func (txInfo *TransactionInfo) String() string
func (*TransactionInfo) Unmarshal ¶ added in v1.34.0
func (txInfo *TransactionInfo) Unmarshal(raw []byte) (err error)
type TruncateRequest ¶
type TruncateRequest struct { VolName string `json:"vol"` PartitionID uint64 `json:"pid"` Inode uint64 `json:"ino"` Size uint64 `json:"sz"` RequestExtend }
TruncateRequest defines the request to truncate.
type TxApplyRMRequest ¶ added in v1.34.0
type TxApplyRMRequest struct { VolName string `json:"vol"` PartitionID uint64 `json:"pid"` *TransactionInfo `json:"tx"` }
type TxApplyRequest ¶ added in v1.34.0
type TxCreateDentryRequest ¶ added in v1.34.0
type TxCreateDentryRequest struct { VolName string `json:"vol"` PartitionID uint64 `json:"pid"` ParentID uint64 `json:"pino"` Inode uint64 `json:"ino"` Name string `json:"name"` Mode uint32 `json:"mode"` QuotaIds []uint32 `json:"qids"` TxInfo *TransactionInfo `json:"tx"` RequestExtend }
TxCreateDentryRequest defines the request to create a dentry.
func (*TxCreateDentryRequest) GetInfo ¶ added in v1.34.0
func (tx *TxCreateDentryRequest) GetInfo() string
type TxCreateDentryResponse ¶ added in v1.34.0
type TxCreateDentryResponse struct {
TxInfo *TransactionInfo `json:"tx"`
}
type TxCreateInodeRequest ¶ added in v1.34.0
type TxCreateInodeRequest struct { VolName string `json:"vol"` PartitionID uint64 `json:"pid"` Mode uint32 `json:"mode"` Uid uint32 `json:"uid"` Gid uint32 `json:"gid"` Target []byte `json:"tgt"` QuotaIds []uint32 `json:"qids"` TxInfo *TransactionInfo `json:"tx"` RequestExtend }
TxCreateInodeRequest defines the request to create an inode with transaction info.
type TxCreateInodeResponse ¶ added in v1.34.0
type TxCreateInodeResponse struct { Info *InodeInfo `json:"info"` TxInfo *TransactionInfo `json:"tx"` }
TxCreateInodeResponse defines the response with transaction info to the request of creating an inode.
type TxCreateRequest ¶ added in v1.34.0
type TxCreateRequest struct { VolName string `json:"vol"` PartitionID uint64 `json:"pid"` *TransactionInfo `json:"tx"` }
type TxCreateResponse ¶ added in v1.34.0
type TxCreateResponse struct {
TxInfo *TransactionInfo `json:"tx"`
}
type TxDeleteDentryRequest ¶ added in v1.34.0
type TxDeleteDentryRequest struct { VolName string `json:"vol"` PartitionID uint64 `json:"pid"` ParentID uint64 `json:"pino"` Name string `json:"name"` Ino uint64 `json:"ino"` TxInfo *TransactionInfo `json:"tx"` RequestExtend }
func (*TxDeleteDentryRequest) GetInfo ¶ added in v1.34.0
func (tx *TxDeleteDentryRequest) GetInfo() string
type TxDeleteDentryResponse ¶ added in v1.34.0
type TxDeleteDentryResponse struct {
Inode uint64 `json:"ino"`
}
type TxDentryApplyRequest ¶ added in v1.34.0
type TxDentryInfo ¶ added in v1.34.0
type TxDentryInfo struct { ParentId uint64 // FileID value of the parent inode. Name string // Name of the current dentry. MpMembers string TxID string MpID uint64 CreateTime int64 // time.Now().Unix() Timeout int64 }
func NewTxDentryInfo ¶ added in v1.34.0
func NewTxDentryInfo(members string, parentId uint64, name string, mpID uint64) *TxDentryInfo
func (*TxDentryInfo) GetKey ¶ added in v1.34.0
func (info *TxDentryInfo) GetKey() string
func (*TxDentryInfo) GetTxId ¶ added in v1.34.0
func (info *TxDentryInfo) GetTxId() (string, error)
func (*TxDentryInfo) Marshal ¶ added in v1.34.0
func (info *TxDentryInfo) Marshal() (result []byte, err error)
func (*TxDentryInfo) SetCreateTime ¶ added in v1.34.0
func (info *TxDentryInfo) SetCreateTime(createTime int64)
func (*TxDentryInfo) SetTimeout ¶ added in v1.34.0
func (info *TxDentryInfo) SetTimeout(timeout int64)
func (*TxDentryInfo) SetTxId ¶ added in v1.34.0
func (info *TxDentryInfo) SetTxId(txID string)
func (*TxDentryInfo) String ¶ added in v1.34.0
func (info *TxDentryInfo) String() string
func (*TxDentryInfo) Unmarshal ¶ added in v1.34.0
func (info *TxDentryInfo) Unmarshal(raw []byte) (err error)
type TxGetInfoRequest ¶ added in v1.34.0
type TxGetInfoResponse ¶ added in v1.34.0
type TxGetInfoResponse struct {
TxInfo *TransactionInfo `json:"tx"`
}
type TxInodeApplyRequest ¶ added in v1.34.0
type TxInodeInfo ¶ added in v1.34.0
type TxInodeInfo struct { Ino uint64 MpID uint64 CreateTime int64 // time.Now().Unix() Timeout int64 TxID string MpMembers string }
func NewTxInodeInfo ¶ added in v1.34.0
func NewTxInodeInfo(members string, ino uint64, mpID uint64) *TxInodeInfo
func (*TxInodeInfo) GetKey ¶ added in v1.34.0
func (info *TxInodeInfo) GetKey() uint64
func (*TxInodeInfo) Marshal ¶ added in v1.34.0
func (info *TxInodeInfo) Marshal() (result []byte, err error)
func (*TxInodeInfo) SetCreateTime ¶ added in v1.34.0
func (info *TxInodeInfo) SetCreateTime(createTime int64)
func (*TxInodeInfo) SetTimeout ¶ added in v1.34.0
func (info *TxInodeInfo) SetTimeout(timeout int64)
func (*TxInodeInfo) SetTxId ¶ added in v1.34.0
func (info *TxInodeInfo) SetTxId(txID string)
func (*TxInodeInfo) String ¶ added in v1.34.0
func (info *TxInodeInfo) String() string
func (*TxInodeInfo) Unmarshal ¶ added in v1.34.0
func (info *TxInodeInfo) Unmarshal(raw []byte) (err error)
type TxLinkInodeRequest ¶ added in v1.34.0
type TxLinkInodeRequest struct { VolName string `json:"vol"` PartitionID uint64 `json:"pid"` Inode uint64 `json:"ino"` TxInfo *TransactionInfo `json:"tx"` RequestExtend }
func (*TxLinkInodeRequest) GetInfo ¶ added in v1.34.0
func (tx *TxLinkInodeRequest) GetInfo() string
type TxLinkInodeResponse ¶ added in v1.34.0
type TxLinkInodeResponse struct {
Info *InodeInfo `json:"info"`
}
type TxMpInfo ¶ added in v1.34.0
type TxMpInfo struct { MpId uint64 Members string TxInodeInfos map[uint64]*TxInodeInfo TxDentryInfos map[string]*TxDentryInfo }
type TxSetStateRequest ¶ added in v1.34.0
type TxUnlinkInodeRequest ¶ added in v1.34.0
type TxUnlinkInodeRequest struct { VolName string `json:"vol"` PartitionID uint64 `json:"pid"` Inode uint64 `json:"ino"` Evict bool `json:"evict"` TxInfo *TransactionInfo `json:"tx"` RequestExtend }
func (*TxUnlinkInodeRequest) GetInfo ¶ added in v1.34.0
func (tx *TxUnlinkInodeRequest) GetInfo() string
type TxUnlinkInodeResponse ¶ added in v1.34.0
type TxUnlinkInodeResponse struct { Info *InodeInfo `json:"info"` TxInfo *TransactionInfo `json:"tx"` }
type TxUpdateDentryRequest ¶ added in v1.34.0
type TxUpdateDentryRequest struct { VolName string `json:"vol"` PartitionID uint64 `json:"pid"` ParentID uint64 `json:"pino"` Name string `json:"name"` Inode uint64 `json:"ino"` // new inode number OldIno uint64 `json:"oldIno"` // new inode number TxInfo *TransactionInfo `json:"tx"` RequestExtend }
func (*TxUpdateDentryRequest) GetInfo ¶ added in v1.34.0
func (tx *TxUpdateDentryRequest) GetInfo() string
type TxUpdateDentryResponse ¶ added in v1.34.0
type TxUpdateDentryResponse struct {
Inode uint64 `json:"ino"` // old inode number
}
type UidLimitToMetaNode ¶ added in v1.34.0
type UidLimitToMetaNode struct {
UidLimitInfo []*UidSpaceInfo
}
type UidReportSpaceInfo ¶ added in v1.34.0
type UidSimpleInfo ¶ added in v1.34.0
type UidSpaceInfo ¶ added in v1.34.0
type UidSpaceRsp ¶ added in v1.34.0
type UidSpaceRsp struct { Info string OK bool UidSpaceArr []*UidSpaceInfo Reserve string }
type UnlinkInodeRequest ¶
type UnlinkInodeRequest struct { VolName string `json:"vol"` PartitionID uint64 `json:"pid"` Inode uint64 `json:"ino"` UniqID uint64 `json:"uid"` // for request dedup VerSeq uint64 `json:"ver"` DenVerSeq uint64 `json:"denVer"` RequestExtend }
UnlinkInodeRequest defines the request to unlink an inode.
type UnlinkInodeResponse ¶
type UnlinkInodeResponse struct {
Info *InodeInfo `json:"info"`
}
UnlinkInodeResponse defines the response to the request of unlinking an inode.
type UpdateDentryRequest ¶
type UpdateDentryRequest struct { VolName string `json:"vol"` PartitionID uint64 `json:"pid"` ParentID uint64 `json:"pino"` Name string `json:"name"` Inode uint64 `json:"ino"` // new inode number RequestExtend }
UpdateDentryRequest defines the request to update a dentry.
type UpdateDentryResponse ¶
type UpdateDentryResponse struct {
Inode uint64 `json:"ino"` // old inode number
}
UpdateDentryResponse defines the response to the request of updating a dentry.
type UpdateMasterQuotaReuqest ¶ added in v1.34.0
type UpdateMetaPartitionRequest ¶
type UpdateMetaPartitionRequest struct { PartitionID uint64 VolName string Start uint64 End uint64 }
UpdateMetaPartitionRequest defines the request to update a meta partition.
type UpdateMetaPartitionResponse ¶
type UpdateMetaPartitionResponse struct { PartitionID uint64 VolName string End uint64 Status uint8 Result string }
UpdateMetaPartitionResponse defines the response to the request of updating the meta partition.
type UpdateSummaryInfoRequest ¶ added in v1.34.0
type UpdateXAttrRequest ¶ added in v1.34.0
type UserCreateParam ¶ added in v1.34.0
type UserInfo ¶ added in v1.34.0
type UserInfo struct { UserID string `json:"user_id" graphql:"user_id"` AccessKey string `json:"access_key" graphql:"access_key"` SecretKey string `json:"secret_key" graphql:"secret_key"` Policy *UserPolicy `json:"policy" graphql:"policy"` UserType UserType `json:"user_type" graphql:"user_type"` CreateTime string `json:"create_time" graphql:"create_time"` Description string `json:"description" graphql:"description"` Mu sync.RWMutex `json:"-" graphql:"-"` EMPTY bool // graphql need ??? }
func NewUserInfo ¶ added in v1.34.0
func NewUserInfo() *UserInfo
type UserLimitConf ¶ added in v1.34.0
type UserPermRemoveParam ¶ added in v1.34.0
func NewUserPermRemoveParam ¶ added in v1.34.0
func NewUserPermRemoveParam(userID, volmue string) *UserPermRemoveParam
type UserPermUpdateParam ¶ added in v1.34.0
type UserPermUpdateParam struct { UserID string `json:"user_id"` Volume string `json:"volume"` Subdir string `json:"subdir"` Policy []string `json:"policy"` }
func NewUserPermUpdateParam ¶ added in v1.34.0
func NewUserPermUpdateParam(userID, volmue string) *UserPermUpdateParam
func (*UserPermUpdateParam) SetPolicy ¶ added in v1.34.0
func (param *UserPermUpdateParam) SetPolicy(policy string)
type UserPolicy ¶ added in v1.34.0
type UserPolicy struct { OwnVols []string `json:"own_vols" graphql:"own_vols"` AuthorizedVols map[string][]string `json:"authorized_vols" graphql:"-"` // mapping: volume -> actions // contains filtered or unexported fields }
func CleanPolicy ¶ added in v1.34.0
func CleanPolicy(policy *UserPolicy) (newUserPolicy *UserPolicy)
func NewUserPolicy ¶ added in v1.34.0
func NewUserPolicy() *UserPolicy
func (*UserPolicy) Add ¶ added in v1.34.0
func (policy *UserPolicy) Add(addPolicy *UserPolicy)
func (*UserPolicy) AddAuthorizedVol ¶ added in v1.34.0
func (policy *UserPolicy) AddAuthorizedVol(volume string, policies []string)
func (*UserPolicy) AddOwnVol ¶ added in v1.34.0
func (policy *UserPolicy) AddOwnVol(volume string)
func (*UserPolicy) Delete ¶ added in v1.34.0
func (policy *UserPolicy) Delete(deletePolicy *UserPolicy)
func (*UserPolicy) IsAuthorized ¶ added in v1.34.0
func (policy *UserPolicy) IsAuthorized(volume, subdir string, action Action) bool
func (*UserPolicy) IsAuthorizedS3 ¶ added in v1.34.0
func (policy *UserPolicy) IsAuthorizedS3(volume, api string) bool
func (*UserPolicy) IsOwn ¶ added in v1.34.0
func (policy *UserPolicy) IsOwn(volume string) bool
func (*UserPolicy) RemoveAuthorizedVol ¶ added in v1.34.0
func (policy *UserPolicy) RemoveAuthorizedVol(volume string)
func (*UserPolicy) RemoveOwnVol ¶ added in v1.34.0
func (policy *UserPolicy) RemoveOwnVol(volume string)
func (*UserPolicy) SetActions ¶ added in v1.34.0
func (policy *UserPolicy) SetActions(volume string, actions Actions)
func (*UserPolicy) SetPerm ¶ added in v1.34.0
func (policy *UserPolicy) SetPerm(volume string, perm Permission)
type UserTransferVolParam ¶ added in v1.34.0
type UserUpdateParam ¶ added in v1.34.0
type VersionInfo ¶ added in v1.34.0
func GetVersion ¶ added in v1.34.0
func GetVersion(role string) *VersionInfo
func (VersionInfo) ToMap ¶ added in v1.34.0
func (v VersionInfo) ToMap() map[string]string
type VolInfo ¶ added in v1.34.0
type VolStatInfo ¶
type VolStatInfo struct { Name string TotalSize uint64 UsedSize uint64 UsedRatio string CacheTotalSize uint64 CacheUsedSize uint64 CacheUsedRatio string EnableToken bool InodeCount uint64 TxCnt uint64 TxRbInoCnt uint64 TxRbDenCnt uint64 DpReadOnlyWhenVolFull bool TrashInterval int64 `json:"TrashIntervalV2"` }
type VolVersionInfo ¶ added in v1.34.0
type VolVersionInfo struct { Ver uint64 // unixMicro of createTime used as version DelTime int64 Status uint8 // building,normal,deleted,abnormal }
func (*VolVersionInfo) String ¶ added in v1.34.0
func (vv *VolVersionInfo) String() string
type VolVersionInfoList ¶ added in v1.34.0
type VolVersionInfoList struct { VerList []*VolVersionInfo // ascend Strategy VolumeVerStrategy TemporaryVerMap map[uint64]*VolVersionInfo RWLock sync.RWMutex }
func (*VolVersionInfoList) GetLastVer ¶ added in v1.34.0
func (v *VolVersionInfoList) GetLastVer() uint64
func (*VolVersionInfoList) GetLastVolVerInfo ¶ added in v1.34.0
func (v *VolVersionInfoList) GetLastVolVerInfo() *VolVersionInfo
func (*VolVersionInfoList) GetNextNewerVer ¶ added in v1.34.0
func (v *VolVersionInfoList) GetNextNewerVer(ver uint64) (verSeq uint64, err error)
func (*VolVersionInfoList) GetNextOlderVer ¶ added in v1.34.0
func (v *VolVersionInfoList) GetNextOlderVer(ver uint64) (verSeq uint64, err error)
type VolView ¶
type VolView struct { Name string Owner string Status uint8 FollowerRead bool MetaPartitions []*MetaPartitionView DataPartitions []*DataPartitionResponse DomainOn bool OSSSecure *OSSSecure CreateTime int64 DeleteLockTime int64 CacheTTL int VolType int }
VolView defines the view of a volume
func NewVolView ¶
func (*VolView) SetOSSSecure ¶ added in v1.5.0
type VolumeVerInfo ¶ added in v1.34.0
type VolumeVerStrategy ¶ added in v1.34.0
type VolumeVerStrategy struct { KeepVerCnt int Periodic int Enable bool ForceUpdate bool UTime time.Time }
func (*VolumeVerStrategy) GetPeriodic ¶ added in v1.34.0
func (v *VolumeVerStrategy) GetPeriodic() int
func (*VolumeVerStrategy) GetPeriodicSecond ¶ added in v1.34.0
func (v *VolumeVerStrategy) GetPeriodicSecond() int
type ZoneNodesStat ¶ added in v1.34.0
type ZoneStat ¶ added in v1.34.0
type ZoneStat struct { DataNodeStat *ZoneNodesStat MetaNodeStat *ZoneNodesStat }