Hi folks, The following patches are the first set of kernel changes for metadata CRC validation. This batch of patches covers inodes, freespace, quota, superblock and symlinks. It does not cover directory or attribute metadata - that will be sent as a separate patch. This series makes is through to 001-092 in xfstests - there is a problem in the dquot verifier that causes log recovery of dquot buffers to follow a NULL pointer. I'm slowly working through these issues one by one, but given that I can run fsstress for extended periods of time and not crash or corrupt a metadata CRC enabled filesystem. Similarly, I've created, walked and removed about 500 million inodes today using fsmark, and that hasn't fallen over, either, so I think the kernel patches are close enough to start having them reviewed. The current overhead of the metadata CRCs under fsmark workloads is around 2.5-3% of the total CPU time. This is in a VM, so hardware acceleration is not available, but the overhead is definitely within the expected bounds at this point in time. The most complex patch is the btree block conversion, simply because it requires converting all the users of the generic btrees at the same time. The changes are relatively straight forward, and you'll see the same pattern throughout the patches: - add the fields to the structure - add the to/from disk translations - add support into the verifiers - add crc calculations to the verifiers - add buffer type support for log recovery The AGFL is a bit special - it's adding a header where there wasn't one before, so there's a bti fo dancing around that conversion in places. The symlink support is a bit different - I moved the symlink code into it's own .c and .h file to make it easy to port to userspace, and added all the new functionality there. It is also adding a header where there wasn't one before. I'll follow this series up with a posting of the userspace code. The userspace code is functional, but is not ready for review. It will allow you to create/test/repair filesystems that you can use with this patch set, but I wouldn't bother looking at the code. It's going to take a fair bit of work to clean up the mess... ObWarning to non-developers: This code eats babies for fun and profit. Unless you are going to be testing, reviewing and reporting problems with the code as part of the development process, do not apply this patch set. Yeah, I know, all the cool kids are doing CRCs these days - it'll be ready to go soon, and then you can get your fix... Cheers, Dave. _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs