Hi all, This is a rollup of various fixes for xfsprogs 4.2.0-rc1. The first patch fixes the dir3 data block verifier to use the standard read verifiers during readahead. Just a resync with the kernel, since nothing in xfsprogs uses libxfs readahead. The second patch fixes xfs_db's inode command not to crash when the user tries to navigate to a corrupt inode. The third patch fixes a bug in xfs_repair wherein if xfs_repair fixes a broken xattr block and later decides to unmap the block, the "repaired" flag inadvertently prohibits the unmapping of that block. The fourth patch fixes sign handling mistakes when dealing with the b_error field in a xfs_buf -- error values in this field are negative, so all checks and assignments must be as well. The fifth patch forces prefetch to mark corrupt bmbt blocks UNCHECKED so that the regular bmbt examination will fix the bad CRC if it doesn't take any other action against the block. Without this, a corruption in the unused area will trigger a kernel error yet never get fixed by repair. The sixth patch fixes an obscure problem in xfs_repair -- when prefetch is enabled and there exists a directory with multiple corrupted blocks, it's possible that both corrupt blocks will be read in and marked UNCHECKED. If either the first corrupt block is so badly damaged so as to cause the directory to be erased, or if the second corrupt block is an index block (which is automatically unmapped when the directory is rebuilt), the second block's buffer will remain UNCHECKED. If the block is then allocated to something else (say lost+found), the next readbuf of the block will fail because nobody clears UNCHECKED and CRCs are only set during writebufr, which only happens when repair finishes its examination. Patch 7 implements a 'reflink' and 'dedupe' command in xfs_io. This will be used in future xfstests to test reflink and dedupe features of btrfs and xfs filesystems. Patch 8 fixes xfs_db/blocktrash to not fail write verification when corrupting a block and allows trashing of log and symlink blocks. Patch 9 enhances the blocktrash command with a '-z' option that trashes the block at the top of the cursor stack and doesn't require blockget to have been run. Patch 10 implements blockget for v5 filesystems. This is a second try at a previous patch which didn't quite catch all the new magic numbers and had some problems iterating directory index data. I've tested these xfsprogs changes against the for-next branch as of 8/03. The rmap/reflink patches will be dealt with separately. Scary rewound github repo with everything attached: https://github.com/djwong/xfsprogs Comments and questions are, as always, welcome. --D _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs