Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 31 for bitrot (0.11 sec)

  1. cmd/bitrot.go

    				bw.Close()
    			}
    		}
    	}
    }
    
    // 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 Nov 03 19:28:11 UTC 2024
    - Last Modified: Tue Jan 30 20:43:25 UTC 2024
    - 7.6K bytes
    - Viewed (0)
  2. cmd/bitrot-streaming.go

    // newStreamingBitrotWriterBuffer returns streaming bitrot writer implementation.
    // The output is written to the supplied writer w.
    func newStreamingBitrotWriterBuffer(w io.Writer, algo BitrotAlgorithm, shardSize int64) io.Writer {
    	return &streamingBitrotWriter{iow: ioutil.NopCloser(w), h: algo.New(), shardSize: shardSize, canClose: nil, closeWithErr: func(err error) {}}
    }
    
    // Returns streaming bitrot writer implementation.
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Wed Aug 21 12:20:54 UTC 2024
    - 6K 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 Nov 03 19:28:11 UTC 2024
    - Last Modified: Wed Jan 31 02:11:45 UTC 2024
    - 2.7K bytes
    - Viewed (0)
  4. internal/config/heal/heal.go

    	if err = config.CheckValidKeys(config.HealSubSys, kvs, DefaultKVS); err != nil {
    		return cfg, err
    	}
    
    	bitrot := env.Get(EnvBitrot, kvs.GetWithDefault(Bitrot, DefaultKVS))
    	if _, err = parseBitrotConfig(bitrot); err != nil {
    		return cfg, fmt.Errorf("'heal:bitrotscan' value invalid: %w", err)
    	}
    
    	cfg.Bitrot = bitrot
    
    	cfg.Sleep, err = time.ParseDuration(env.Get(EnvSleep, kvs.GetWithDefault(Sleep, DefaultKVS)))
    	if err != nil {
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Fri May 24 23:05:23 UTC 2024
    - 4.9K bytes
    - Viewed (0)
  5. 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 Nov 03 19:28:11 UTC 2024
    - Last Modified: Tue Oct 22 15:30:50 UTC 2024
    - 8.4K 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 Nov 03 19:28:11 UTC 2024
    - Last Modified: Wed Aug 14 17:11:51 UTC 2024
    - 66.7K 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 Nov 03 19:28:11 UTC 2024
    - Last Modified: Fri Aug 16 08:43:49 UTC 2024
    - 17.9K bytes
    - Viewed (1)
  8. docs/debugging/xl-meta/main.go

    				verified++
    			}
    		}
    	}
    	fmt.Println("Reconstructed", reconstructed, "bytes and verified", verified, "bytes of partial shard with config", 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 Nov 03 19:28:11 UTC 2024
    - Last Modified: Thu Sep 05 11:57:44 UTC 2024
    - 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
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Tue Oct 01 15:19:10 UTC 2024
    - 23.1K 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 Nov 03 19:28:11 UTC 2024
    - Last Modified: Tue Jan 30 20:43:25 UTC 2024
    - 7.9K bytes
    - Viewed (0)
Back to top