In chasing down a recent regression, I realised I wasn't running sparse regularly on my "fs/xfs-only" kernel builds, and so I missed a warning that would have prevented a bug from slipping through. I've modified my build scripts to always run sparse when I do these delta builds as I develop code, and I found a few other warnings that needed to be addressed. No bugs were uncovered - they are simply modifications and/or annotations to the code to address the warnings and make them go away. There remains a couple of sparse warnings in the transaction reservation calculations - sparse throws "too many tokens" warnings from the max(t4, max3(t1, t2, t3)) calculations. These are sparse code parser issues, not a code problem, so I have ignored them for now.