On Tue, Oct 03, 2017 at 01:43:02PM -0700, Darrick J. Wong wrote: > +/* Extended Attributes */ > + > +struct xfs_scrub_xattr { > + struct xfs_attr_list_context context; > + struct xfs_scrub_context *sc; > +}; A comment here explaining that we are using the listattr callback infrastructure to scrub the xattr? And, now that I've got to the rest of the code, that we don't validate the pointers/values in the attribute records when doing dabtree record check because we are doing that indirectly afterwards by reading every attribute value. And that this follows the pointers for remote attr blocks and reads them, hence checking the remote attr is valid via verifiers? And, with that out of the way, what about attributes that listent skips? i.e. those with the flag that says they are not valid? We don't check they exist or are valid, and their existence would be a case for preening the xattr tree... Otherwise this seems pretty straight forward... Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx -- 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