Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 43 for bitrot (0.19 sec)

  1. cmd/bitrot.go

    		} else {
    			errs[i] = nil
    		}
    	}
    	return errs
    }
    
    // Returns hash sum for whole-bitrot, nil for streaming-bitrot.
    func bitrotWriterSum(w io.Writer) []byte {
    	if bw, ok := w.(*wholeBitrotWriter); ok {
    		return bw.Sum(nil)
    	}
    	return nil
    }
    
    // Returns the size of the file with bitrot protection
    func bitrotShardFileSize(size int64, shardSize int64, algo BitrotAlgorithm) int64 {
    Registered: Sun Sep 07 19:28:11 UTC 2025
    - Last Modified: Wed Feb 26 19:26:13 UTC 2025
    - 7.7K bytes
    - Viewed (0)
  2. cmd/bitrot-streaming.go

    }
    
    func (b *streamingBitrotWriter) Write(p []byte) (int, error) {
    	if len(p) == 0 {
    		return 0, nil
    	}
    	if b.finished {
    		return 0, errors.New("bitrot write not allowed")
    	}
    	if int64(len(p)) > b.shardSize {
    		return 0, errors.New("unexpected bitrot buffer size")
    	}
    	if int64(len(p)) < b.shardSize {
    		b.finished = true
    	}
    	b.h.Reset()
    	b.h.Write(p)
    	hashBytes := b.h.Sum(nil)
    Registered: Sun Sep 07 19:28:11 UTC 2025
    - Last Modified: Fri Jan 17 19:19:30 UTC 2025
    - 6.2K bytes
    - Viewed (0)
  3. cmd/bitrot-whole.go

    package cmd
    
    import (
    	"context"
    	"hash"
    	"io"
    )
    
    // Implementation to calculate bitrot for the whole file.
    type wholeBitrotWriter struct {
    	disk      StorageAPI
    	volume    string
    	filePath  string
    	shardSize int64 // This is the shard size of the erasure logic
    	hash.Hash       // For bitrot hash
    }
    
    func (b *wholeBitrotWriter) Write(p []byte) (int, error) {
    Registered: Sun Sep 07 19:28:11 UTC 2025
    - Last Modified: Wed Jan 31 02:11:45 UTC 2024
    - 2.7K bytes
    - Viewed (0)
  4. cmd/xl-storage-format-v1.go

    	ModTime time.Time `json:"modTime"` // ModTime of the object `xl.meta`.
    	Name    string    `json:"name"`
    	Dir     bool      `json:"dir"`
    	Mode    uint32    `json:"mode"`
    }
    
    // ErasureInfo holds erasure coding and bitrot related information.
    type ErasureInfo struct {
    	// Algorithm is the string representation of erasure-coding-algorithm
    	Algorithm string `json:"algorithm"`
    	// DataBlocks is the number of data blocks for erasure-coding
    Registered: Sun Sep 07 19:28:11 UTC 2025
    - Last Modified: Tue Oct 22 15:30:50 UTC 2024
    - 8.4K bytes
    - Viewed (0)
  5. docs/resiliency/resiliency-tests.sh

    		return 1
    	fi
    
    	# Induce bitrot in single part -- status still green
    	induce_bitrot "2" "/data"$((DATA_DRIVE + 1)) $FILE
    	WANT='{ "before": { "color": "green", "missing": 0, "corrupted": 1 }, "after": { "color": "green", "missing": 0, "corrupted": 0 }, "args": {"file": "'${FILE}'", "dir": "'${DIR}'", "deep": true} }'
    	verify_resiliency_healing "${FUNCNAME[0]}" "${WANT}"
    
    	# Induce bitrot in two parts -- status becomes yellow (2 corrupted)
    Registered: Sun Sep 07 19:28:11 UTC 2025
    - Last Modified: Sat Dec 21 04:24:45 UTC 2024
    - 20.5K bytes
    - Viewed (0)
  6. cmd/xl-storage_test.go

    		}
    	}
    }
    
    // Test xlStorage.VerifyFile()
    func TestXLStorageVerifyFile(t *testing.T) {
    	// We test 4 cases:
    	// 1) Whole-file bitrot check on proper file
    	// 2) Whole-file bitrot check on corrupted file
    	// 3) Streaming bitrot check on proper file
    	// 4) Streaming bitrot check on corrupted file
    
    	// create xlStorage test setup
    	storage, path, err := newXLStorageTestSetup(t)
    	if err != nil {
    Registered: Sun Sep 07 19:28:11 UTC 2025
    - Last Modified: Fri Aug 29 02:39:48 UTC 2025
    - 66K bytes
    - Viewed (0)
  7. docs/config/README.md

    
    ```
    ~ mc admin config set alias/ heal
    KEY:
    heal  manage object healing frequency and bitrot verification checks
    
    ARGS:
    bitrotscan     (on|off)    perform bitrot scan on drives when checking objects during scanner
    max_sleep      (duration)  maximum sleep duration between objects to slow down heal operation. eg. 2s
    Registered: Sun Sep 07 19:28:11 UTC 2025
    - Last Modified: Tue Aug 12 18:20:36 UTC 2025
    - 18.1K bytes
    - Viewed (1)
  8. docs/debugging/xl-meta/main.go

    			}
    		}
    	}
    	fmt.Println("Reconstructed", reconstructed, "bytes and verified", verified, "bytes of partial shard with config", string(shardConfig))
    }
    
    // bitrot returns a shard beginning at startOffset after doing bitrot checks.
    func bitrot(val []byte, startOffset, shardSize int) ([]byte, error) {
    	var res []byte
    	for len(val) >= 32 {
    		want := val[:32]
    		data := val[32:]
    		if len(data) > shardSize {
    Registered: Sun Sep 07 19:28:11 UTC 2025
    - Last Modified: Fri Aug 29 02:39:48 UTC 2025
    - 40.3K bytes
    - Viewed (0)
  9. cmd/erasure-healing-common_test.go

    					f, err := os.OpenFile(filePath, os.O_WRONLY|os.O_SYNC, 0)
    					if err != nil {
    						t.Fatalf("Failed to open %s: %s\n", filePath, err)
    					}
    					f.WriteString("oops") // Will cause bitrot error
    					f.Close()
    					break
    				}
    			}
    
    			rQuorum := len(errs) - z.serverPools[0].sets[0].defaultParityCount
    			onlineDisks, modTime, _ := listOnlineDisks(erasureDisks, partsMetadata, test.errs, rQuorum)
    Registered: Sun Sep 07 19:28:11 UTC 2025
    - Last Modified: Fri Aug 29 02:39:48 UTC 2025
    - 22.4K bytes
    - Viewed (0)
  10. cmd/erasure-heal_test.go

    			for i := range staleWriters {
    				if staleWriters[i] == nil {
    					continue
    				}
    				if !bytes.Equal(bitrotWriterSum(staleWriters[i]), bitrotWriterSum(writers[i])) {
    					t.Errorf("Test %d: heal returned different bitrot checksums", i)
    				}
    			}
    		}
    	}
    Registered: Sun Sep 07 19:28:11 UTC 2025
    - Last Modified: Fri Aug 29 02:39:48 UTC 2025
    - 7.9K bytes
    - Viewed (0)
Back to top