mirror of
				https://github.com/minio/minio.git
				synced 2025-10-31 08:11:19 +01:00 
			
		
		
		
	Current implementation heavily relies on readAllFileInfo but with the advent of xl.meta inlined with data, we cannot easily avoid reading data when we are only interested is updating metadata, this leads to invariably write amplification during metadata updates, repeatedly reading data when we are only interested in updating metadata. This PR ensures that we implement a metadata only update API at storage layer, that handles updates to metadata alone for any given version - given the version is valid and present. This helps reduce the chattiness for following calls.. - PutObjectTags - DeleteObjectTags - PutObjectLegalHold - PutObjectRetention - ReplicateObject (updates metadata on replication status)
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| // Code generated by "stringer -type=storageMetric -trimprefix=storageMetric xl-storage-disk-id-check.go"; DO NOT EDIT.
 | |
| 
 | |
| package cmd
 | |
| 
 | |
| import "strconv"
 | |
| 
 | |
| func _() {
 | |
| 	// An "invalid array index" compiler error signifies that the constant values have changed.
 | |
| 	// Re-run the stringer command to generate them again.
 | |
| 	var x [1]struct{}
 | |
| 	_ = x[storageMetricMakeVolBulk-0]
 | |
| 	_ = x[storageMetricMakeVol-1]
 | |
| 	_ = x[storageMetricListVols-2]
 | |
| 	_ = x[storageMetricStatVol-3]
 | |
| 	_ = x[storageMetricDeleteVol-4]
 | |
| 	_ = x[storageMetricWalkDir-5]
 | |
| 	_ = x[storageMetricListDir-6]
 | |
| 	_ = x[storageMetricReadFile-7]
 | |
| 	_ = x[storageMetricAppendFile-8]
 | |
| 	_ = x[storageMetricCreateFile-9]
 | |
| 	_ = x[storageMetricReadFileStream-10]
 | |
| 	_ = x[storageMetricRenameFile-11]
 | |
| 	_ = x[storageMetricRenameData-12]
 | |
| 	_ = x[storageMetricCheckParts-13]
 | |
| 	_ = x[storageMetricCheckFile-14]
 | |
| 	_ = x[storageMetricDelete-15]
 | |
| 	_ = x[storageMetricDeleteVersions-16]
 | |
| 	_ = x[storageMetricVerifyFile-17]
 | |
| 	_ = x[storageMetricWriteAll-18]
 | |
| 	_ = x[storageMetricDeleteVersion-19]
 | |
| 	_ = x[storageMetricWriteMetadata-20]
 | |
| 	_ = x[storageMetricUpdateMetadata-21]
 | |
| 	_ = x[storageMetricReadVersion-22]
 | |
| 	_ = x[storageMetricReadAll-23]
 | |
| 	_ = x[storageMetricLast-24]
 | |
| }
 | |
| 
 | |
| const _storageMetric_name = "MakeVolBulkMakeVolListVolsStatVolDeleteVolWalkDirListDirReadFileAppendFileCreateFileReadFileStreamRenameFileRenameDataCheckPartsCheckFileDeleteDeleteVersionsVerifyFileWriteAllDeleteVersionWriteMetadataUpdateMetadataReadVersionReadAllLast"
 | |
| 
 | |
| var _storageMetric_index = [...]uint8{0, 11, 18, 26, 33, 42, 49, 56, 64, 74, 84, 98, 108, 118, 128, 137, 143, 157, 167, 175, 188, 201, 215, 226, 233, 237}
 | |
| 
 | |
| func (i storageMetric) String() string {
 | |
| 	if i >= storageMetric(len(_storageMetric_index)-1) {
 | |
| 		return "storageMetric(" + strconv.FormatInt(int64(i), 10) + ")"
 | |
| 	}
 | |
| 	return _storageMetric_name[_storageMetric_index[i]:_storageMetric_index[i+1]]
 | |
| }
 |