2013-03-03 1 views
2

Est-il possible de récupérer les sommes de contrôle/hachages que ReFS crée pour les flux d'intégrité? J'ai trouvé this document qui décrit un nouveau code de contrôle API: FSCTL_GET_INTEGRITY_INFORMATION, mais il semble obtenir seulement quelques détails sur le flux d'intégrité comme le type de somme de contrôle et la taille du morceau, pas les checksums eux-mêmes.Récupération des sommes de contrôle du flux d'intégrité ReFS

Je suis intéressé par cette information parce que j'écris un programme qui a besoin d'identifier les changements de fichiers plus marquée que les nom de fichier juste et horodater, et je ne voudrais pas refaire tous les checksumming que la système de fichiers est déjà en train de faire, d'autant plus que je travaille avec des téraoctets de données.

+0

Dans un document ici: http://www.microsoft.com/en-us/download/details.aspx?id=29043 « ReFS supporte deux types de flux de données, les flux conventionnels et des cours d'eau intégrité conventionnelle. flux: flux qui n'offrent aucune protection d'intégrité D'un point de vue fonctionnel, les flux conventionnels se comportent de manière identique aux flux NTFS. "... Pensez-vous que vous pourriez accéder aux données de contrôle de flux d'intégrité (CRC64) via un appel de flux de données différent? – mttjohnson

+0

ReFS a abandonné la prise en charge des flux de données alternatifs. Néanmoins, j'ai utilisé cet utilitaire http://www.nirsoft.net/utils/alternate_data_streams.html pour rechercher des ADS sur mon volume ReFS, mais je suis revenu les mains vides. Je ne sais pas comment les données de somme de contrôle sont stockées, mais il serait idiot pour Microsoft de supprimer des ADS juste pour les réimplémenter avec leur seul but nouveau de stocker un flux de données séparé pour les sommes de contrôle de flux d'intégrité. Stocker les données avec le reste des métadonnées du système de fichiers semble également stupide, donc je ne suis pas vraiment sûr. –

Répondre

1

Je pense que vous n'êtes pas censé accéder directement aux sommes de contrôle. Il y a une somme de contrôle CRC64 par cluster de 64 Ko dans un fichier (vous pourriez en avoir des tonnes pour les gros fichiers). Ils sont stockés de manière "privée" pour le système de fichiers sans accès API que je connais. D'après ce que je sais du format binaire en 2012R2, il n'y a pas d'ADS pour accéder aux checksums, il faut creuser dans la partition. En ce qui concerne le problème initial, FILE_ATTRIBUTE_NO_SCRUB_DATA peut vous intéresser. Son objectif est "Cet attribut est utile pour les applications qui conservent leurs propres informations d'intégrité, lorsque le développeur de l'application souhaite un contrôle plus strict sur le moment et la manière dont ces fichiers sont nettoyés". C'est proche de ce que tu veux.

Cordialement.

Questions connexes