Btrfs calcola un checksum crc32c per ogni file. Esiste un modo per visualizzare quale checksum è archiviato (invece di leggere semplicemente il file e ricalcolarlo)?
Btrfs calcola un checksum crc32c per ogni file. Esiste un modo per visualizzare quale checksum è archiviato (invece di leggere semplicemente il file e ricalcolarlo)?
Risposte:
Btrfs calcola un checksum crc32c per ogni file.
Questo non è corretto Entrambi i file system di checksum open source (ZFS e BTRFS) calcolano un checksum per ciascun blocco logico (il timore sorgente senza nome utilizzato è corretto). Questa è una somma di controllo dei dati su disco.
Se il file system ha la compressione abilitata (un'impostazione sempre più comune), questo checksum riguarda i dati dopo la compressione. Ciò significa che, anche se il file si inserisce in un blocco logico, è possibile (e sempre più probabile) che i dati di checksum del file system siano inutili per te.
Se hai bisogno di un checksum di file, il modo migliore per ottenerlo sarebbe calcolarlo.
Da una risposta simile a superutente:
Non credo che sia possibile estrarre i checksum a livello di blocco da un filesystem ZFS, ma poiché i checksum sono a livello di blocco, non a livello di file, probabilmente non ti aiuterebbero comunque.
Senso. I checksum non vengono creati per file da btrfs. Si dice che @superuser ha una patch per aggiungere una funzionalità al sottocomando inspect-internal: btrfs inspect-dump-csum interno questo dump - per tutti i blocchi occupati da un determinato file - i checksum dei blocchi. Plurale, a meno che il file non rientri in un blocco.
Penso che ciò non sia possibile tramite la CLI di btrfs, ma qui c'è un codice sorgente che, spero, potrebbe aiutarti a leggere chechsum per un singolo blocco in un filesystem btrfs. Ha bisogno di root.