mirror of
				https://github.com/minio/minio.git
				synced 2025-10-30 00:05:02 -04:00 
			
		
		
		
	- optimize writing part.N.meta by writing both part.N
  and its meta in sequence without network component.
- remove part.N.meta, part.N which were partially success
  ful, in quorum loss situations during renamePart()
- allow for strict read quorum check arbitrated via ETag
  for the given part number, this makes it double safer
  upon final commit.
- return an appropriate error when read quorum is missing,
  instead of returning InvalidPart{}, which is non-retryable
  error. This kind of situation can happen when many
  nodes are going offline in rotation, an example of such
  a restart() behavior is statefulset updates in k8s.
fixes #20091
		
	
			
		
			
				
	
	
		
			55 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			2.2 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[storageMetricDelete-14]
 | |
| 	_ = x[storageMetricDeleteVersions-15]
 | |
| 	_ = x[storageMetricVerifyFile-16]
 | |
| 	_ = x[storageMetricWriteAll-17]
 | |
| 	_ = x[storageMetricDeleteVersion-18]
 | |
| 	_ = x[storageMetricWriteMetadata-19]
 | |
| 	_ = x[storageMetricUpdateMetadata-20]
 | |
| 	_ = x[storageMetricReadVersion-21]
 | |
| 	_ = x[storageMetricReadXL-22]
 | |
| 	_ = x[storageMetricReadAll-23]
 | |
| 	_ = x[storageMetricStatInfoFile-24]
 | |
| 	_ = x[storageMetricReadMultiple-25]
 | |
| 	_ = x[storageMetricDeleteAbandonedParts-26]
 | |
| 	_ = x[storageMetricDiskInfo-27]
 | |
| 	_ = x[storageMetricDeleteBulk-28]
 | |
| 	_ = x[storageMetricRenamePart-29]
 | |
| 	_ = x[storageMetricReadParts-30]
 | |
| 	_ = x[storageMetricLast-31]
 | |
| }
 | |
| 
 | |
| const _storageMetric_name = "MakeVolBulkMakeVolListVolsStatVolDeleteVolWalkDirListDirReadFileAppendFileCreateFileReadFileStreamRenameFileRenameDataCheckPartsDeleteDeleteVersionsVerifyFileWriteAllDeleteVersionWriteMetadataUpdateMetadataReadVersionReadXLReadAllStatInfoFileReadMultipleDeleteAbandonedPartsDiskInfoDeleteBulkRenamePartReadPartsLast"
 | |
| 
 | |
| var _storageMetric_index = [...]uint16{0, 11, 18, 26, 33, 42, 49, 56, 64, 74, 84, 98, 108, 118, 128, 134, 148, 158, 166, 179, 192, 206, 217, 223, 230, 242, 254, 274, 282, 292, 302, 311, 315}
 | |
| 
 | |
| 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]]
 | |
| }
 |