Commit Graph

4376 Commits

Author SHA1 Message Date
chihe
284ca0d211 feat(metanodeclient): hybrid cloud support hybridcloud data migration
Signed-off-by: chihe <chi.he@oppo.com>
2024-12-26 09:24:22 +08:00
true1064
35ed550795 feat(master): hybrid cloud forbidden AdminCreateVersion API because hybrid cloud not support snapshot version yet
Signed-off-by: true1064 <tangjingyu@oppo.com>
2024-12-26 09:24:22 +08:00
true1064
8a5bc8583a feat(master):make the snapshot version and multiple storageClass mutually exclusive in a volume.
Because now multiple allowedStorageClass can not support snapshot version.

Signed-off-by: true1064 <tangjingyu@oppo.com>
2024-12-26 09:24:22 +08:00
true1064
9d2bf3b483 feat(mastercli): add API to add storageClass to volume's allowedStorageClass list
Signed-off-by: true1064 <tangjingyu@oppo.com>
2024-12-26 09:24:22 +08:00
true1064
5bcc78bb43 fix(master): in create vol procedure, update datapartition view cache right after the creation of datapartitions
Signed-off-by: true1064 <tangjingyu@oppo.com>
2024-12-26 09:24:22 +08:00
true1064
5936cdfe8d fix(master): amend some logs
Signed-off-by: true1064 <tangjingyu@oppo.com>
2024-12-26 09:24:22 +08:00
chihe
443199e0b0 fix(client): hybrid cloud only clear dp when volume storage class is blobstore
Signed-off-by: chihe <chi.he@oppo.com>
2024-12-26 09:24:22 +08:00
true1064
1f227e722c fix(master): in create volume, sort allowedStorageClass after check if append volStorageClass info
Signed-off-by: true1064 <tangjingyu@oppo.com>
2024-12-26 09:24:22 +08:00
true1064
10685ceba0 fix(master): when updateVol, check that req.VolStorageClass should be in vol.allowedStorageClass
Signed-off-by: true1064 <tangjingyu@oppo.com>
2024-12-26 09:24:22 +08:00
true1064
d250c3041a fix(master): check if the cluster has resource to support req.VolStorageClass when create vol
Signed-off-by: true1064 <tangjingyu@oppo.com>
2024-12-26 09:24:22 +08:00
true1064
f04993070b fix(master): some fix about datapartition creation
(1) while creating dp in vol creation, check dp count by mediaType to judge if success.
	(2) when background periodical check if need to create dp, skip volumes whose createTime is too recently, to avoid background create dp while volume is creating.
	(3) display mediaType of dp in cfs-cli cmd "volume info -d"

Signed-off-by: true1064 <tangjingyu@oppo.com>
2024-12-26 09:24:22 +08:00
true1064
9d0d2c9fef feat(master): hybrid cloud sort AllowedStorageClass[] while creating volume
Signed-off-by: true1064 <tangjingyu@oppo.com>
2024-12-26 09:24:22 +08:00
chihe
1cdf8fcd39 fix(metanode): hybrid cloud fix log panic in function of deleteMarkedEBSInodes
Signed-off-by: chihe <chi.he@oppo.com>
2024-12-26 09:24:22 +08:00
true1064
51554785e3 fix(master): hybrid cloud not set zoneName as default value if not assigned in the create vol request.
Signed-off-by: true1064 <tangjingyu@oppo.com>
2024-12-26 09:24:22 +08:00
chihe
4815a61444 fix(client): hybrid cloud fix bug about checking media type of dp
Signed-off-by: chihe <chi.he@oppo.com>
2024-12-26 09:24:22 +08:00
true1064
3373c73b4f fix(master): ybrid cloud not use var pointer dataNode if not got it from cluster, to avoid panic
Signed-off-by: true1064 <tangjingyu@oppo.com>
2024-12-26 09:24:22 +08:00
true1064
7a7b663b6c feat(mastercli): hybrid cloud vol.volStorageClass can be changed by "cfs-cli volume update"
Signed-off-by: true1064 <tangjingyu@oppo.com>
2024-12-26 09:24:22 +08:00
chihe
347208f189 refactor(clientmetanode): hybrid cloud check inode/vol storage class when checking vol type
Signed-off-by: chihe <chi.he@oppo.com>
2024-12-26 09:24:22 +08:00
true1064
1f9dab0eda feat(masterclientpreload): add property CacheDpStorageClass to volume.
CacheDpStorageClass is used to inform SDK which storageClass to use when access cache dp.

Signed-off-by: true1064 <tangjingyu@oppo.com>
2024-12-26 09:24:22 +08:00
true1064
92d1d54832 feat(master): volume supports multi mediaType based on the refactored codes from v3.4.0
Signed-off-by: true1064 <tangjingyu@oppo.com>
2024-12-26 09:24:22 +08:00
true1064
14d7e0e19c feat(masterclientcli): hybrid cloud add property mediaType to datapartition
(1)master: when creating vol, master creates dps of each mediaType according to vol.allowedStorageClass
	(2)client: when select dp to do append write, choose dp with spcific mediaType according to inode's storageClass

Signed-off-by: true1064 <tangjingyu@oppo.com>
2024-12-26 09:24:22 +08:00
true1064
6cafecdb7d feat(masterclientcli): add property volStorageClass and allowedStorageClass to volume
now volType is not uesed while creating volume, but is maintained for compability

Signed-off-by: true1064 <tangjingyu@oppo.com>
2024-12-26 09:24:22 +08:00
true1064
3081a30168 feat(master): hybrid cloud add mediaType property to zone
(1) zone mediaType is set as the first add-in datanode's mediaType
	(2) once zone mediaType is set, all datanodes in the zone must be the same mediaType.
	(3) the cmd 'cfs-cli zone info' shows zone mediaType.

Signed-off-by: true1064 <tangjingyu@oppo.com>
2024-12-26 09:24:22 +08:00
chihe
029d1b359e feat(clientmetanode): hybrid cloud support change inode storageclass when updating ek
Signed-off-by: chihe <chi.he@oppo.com>
2024-12-26 09:24:22 +08:00
chihe
7a915e87e0 feat(client): hybrid cloud supports the option to choose SSD or HDD data partition
Signed-off-by: chihe <chi.he@oppo.com>
2024-12-26 09:24:22 +08:00
chihe
e1442f7de1 feat(clientmetanode): hybrid cloud support renewal inode forbidden migration
Signed-off-by: chihe <chi.he@oppo.com>
2024-12-26 09:24:22 +08:00
chihe
7211b09cd6 feat(meta): hybrid cloud inode supprot hybrid-clound
2.client read/write support hybrid-clound

Signed-off-by: chihe <chi.he@oppo.com>
2024-12-26 09:24:22 +08:00
true1064
f70b3cfe38 feat(masterdatacli): hybrid cloud add datanode's mediaType
for module master and datanode; the cmd 'cfs-cli datanode info' can show datanode's mediaType

Signed-off-by: true1064 <tangjingyu@oppo.com>
2024-12-26 09:24:22 +08:00
Victor1319
fd428b4706 refactor(master): fix confilcts when pick 3.4.0. #22906448
Signed-off-by: Victor1319 <zengxuewei@oppo.com>
2024-12-26 09:24:22 +08:00
chihe
dee812aded fix(master): canAllocDp compatible with 3.4.0 before
Signed-off-by: chihe <chihe@oppo.com>
2024-12-26 09:24:22 +08:00
chihe
bff1bbca48 fix(metanode): inodeOnce marshall compatible with meta 3.3.2
Signed-off-by: chihe <chihe@oppo.com>
2024-12-26 09:24:22 +08:00
baihailong
1d196732dc fix(client): enableBcache is invalid even if it was specified.
Signed-off-by: baihailong <baihailong@oppo.com>
2024-12-26 09:24:22 +08:00
leonrayang
9c6438e631 feat(metanode): optimize quota infomation storage to reduce usage of memory
Signed-off-by: leonrayang <chl696@sina.com>
2024-12-26 09:24:22 +08:00
leonrayang
65cb8077e4 feat(metanode): optimize memory usage of metanode for multi snapshit
Signed-off-by: leonrayang <chl696@sina.com>
2024-12-26 09:24:22 +08:00
chihe
68a27c700d fix(client): goroutine for trash to build parent dir would not quit
Signed-off-by: chihe <chihe@oppo.com>
2024-12-26 09:24:22 +08:00
Victor1319
1e8ffbeb73 refactor(client): if subdir is empty from cfg file, use cfg from option.
Signed-off-by: Victor1319 <zengxuewei@oppo.com>
2024-12-26 09:24:22 +08:00
chihe
b57d898709 fix(doc): fix path for cfs-arch-ec.png
Signed-off-by: chihe <chihe@oppo.com>
2024-12-26 09:24:22 +08:00
chihe
60dbc1ac30 feat(docs): update Governance related documentation
1. Clarify the responsibilities of the TSC, maintainers, and committers.
	2. Fix the issue in security reporting as incorrect email address for reporting vulnerabilities.
	3. Clarify the governace of SIGs
	4. Add a link to the governance section in README.md for emphasis.

Signed-off-by: chihe <chihe@oppo.com>
2024-12-26 09:24:22 +08:00
chihe
cf07bf261d fix(master): check quotaManager for vol when executing ListQuota
Signed-off-by: chihe <chihe@oppo.com>
2024-12-26 09:24:22 +08:00
Victor1319
e4ebd42ae0 fix(metanode): delete extent_del file when reach end of the file.
Signed-off-by: Victor1319 <zengxuewei@oppo.com>
2024-12-26 09:24:22 +08:00
Victor1319
1113795e49 fix(meta): reset reserved flag when marshal inode.
Signed-off-by: Victor1319 <zengxuewei@oppo.com>
2024-12-26 09:24:22 +08:00
Victor1319
8faf83077f fix(meta): consider snapshot ver when unmarshal extents
Signed-off-by: Victor1319 <zengxuewei@oppo.com>
2024-12-26 09:24:22 +08:00
Victor1319
8f9035c3a1 fix(meta): inode unmarshal logic is compatible with subsequent versions.
Signed-off-by: Victor1319 <zengxuewei@oppo.com>
2024-12-26 09:24:22 +08:00
Victor1319
bae8527daa fix(meta): check error when unmarshal inode value.
Signed-off-by: Victor1319 <zengxuewei@oppo.com>
2024-12-26 09:24:22 +08:00
chihe
d858cc505b fix(metanode): do not update Accesstime when excuting getInodeTopLayer
Signed-off-by: chihe <chihe@oppo.com>
2024-12-26 09:24:22 +08:00
chihe
c43dd5eda2 fix(metanod): if clusterEnableSnapshot is not enbale, do not apply VersionOp
Signed-off-by: chihe <chihe@oppo.com>
2024-12-26 09:24:22 +08:00
chihe
d3912d2042 fix(datanode): check initPartitionSize when calculating progress
Signed-off-by: chihe <chihe@oppo.com>
2024-12-26 09:24:22 +08:00
Victor1319
46930ab462 refactor(raft): use decimal format to print number in raft log.
Signed-off-by: Victor1319 <zengxuewei@oppo.com>
2024-12-26 09:24:22 +08:00
Victor1319
1d79c40a29 refactor(raft): use decimal format to print number in raft log.
Signed-off-by: Victor1319 <zengxuewei@oppo.com>
2024-12-26 09:24:22 +08:00
cuishuang
a9c6e74bbf fix(util): fix slice init length
Signed-off-by: cuishuang <imcusg@gmail.com>
2024-12-26 09:24:22 +08:00