[block-cache] Add check_raw() to bcache::validator
This commit is contained in:
		| @@ -292,6 +292,15 @@ namespace validator { | ||||
| 				throw checksum_error("bad checksum in superblock"); | ||||
| 		} | ||||
|  | ||||
| 		virtual bool check_raw(void const *raw) const { | ||||
| 			superblock_disk const *sbd = reinterpret_cast<superblock_disk const *>(raw); | ||||
| 			crc32c sum(SUPERBLOCK_CSUM_SEED); | ||||
| 			sum.append(&sbd->flags, MD_BLOCK_SIZE - sizeof(uint32_t)); | ||||
| 			if (sum.get_sum() != to_cpu<uint32_t>(sbd->csum)) | ||||
| 				return false; | ||||
| 			return true; | ||||
| 		} | ||||
|  | ||||
| 		virtual void prepare(void *raw, block_address location) const { | ||||
| 			superblock_disk *sbd = reinterpret_cast<superblock_disk *>(raw); | ||||
| 			crc32c sum(SUPERBLOCK_CSUM_SEED); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user