Hi all, Here's a series cleaning up some problems and bugs in the online scrub code. Most of the problems fixed here were uncovered through more thorough testing of the online repair series, which will be posted shortly. First, we amend scrub to skip cross-referencing once the first error is found; this patch hasn't changed since its posting during the 4.17 cycle. The next five patches refactor the quota code to make it possible to iterate all the dquots in the system with the quota inode's ILOCK held. After this, we can drop all the weird code that attaches to the quota ip in favor of using the well known mechanism that we use for all other inodes. This enables us to call the data fork scrubber on the quota inodes; and the dquot iterator that we created earlier. The next two patches fix some broken interaction between scrub and the rest of xfs. Following that are three fixes to the scrubbers themselves -- the first checks that a btree block never contains fewer than minrecs records unless it's the top block in a tree. The second refactors the transaction allocation helper; and the last one fixes a potential ABBA deadlock in the parent scrubber. If you're going to start using this mess, you probably ought to just pull from my git trees. The kernel patches[1] should apply against 4.17-rc1. xfsprogs[2] and xfstests[3] can be found in their usual places. The git trees contain all four series' worth of changes. This is an extraordinary way to eat your data. Enjoy! Comments and questions are, as always, welcome. --D [1] https://git.kernel.org/cgit/linux/kernel/git/djwong/xfs-linux.git/log/?h=djwong-devel [2] https://git.kernel.org/cgit/linux/kernel/git/djwong/xfsprogs-dev.git/log/?h=djwong-devel [3] https://git.kernel.org/cgit/linux/kernel/git/djwong/xfstests-dev.git/log/?h=djwong-devel -- To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html