This patchset does a number of cleanups to remove sparse warnings that appear when -D__CHECK_ENDIAN__ is specified. Mostly, they just add __force in the appropriate places to make it clear that casting directly to a different endianness is intentional. I've also added comments to clarify why we're doing this in the same places. Note that there are still some sparse warnings that are not addressed. This one looks like a bug in sparse to me. We're initializing different slots in an array: fs/nfsd/nfssvc.c:120:10: warning: Initializer entry defined twice fs/nfsd/nfssvc.c:121:10: also defined here This warning is also not addressed in this set: fs/nfsd/auth.c:31:38: warning: incorrect type in argument 1 (different address spaces) fs/nfsd/auth.c:31:38: expected struct cred const *cred fs/nfsd/auth.c:31:38: got struct cred const [noderef] <asn:4>*real_cred I think sparse is complaining that we're casting away __rcu when handling creds. I'm not quite sure whether that's a real bug or not. I've left it alone for now until I (or someone else) has some time to look more closely. Jeff Layton (4): nfsd: add __force to opaque verifier field casts nfsd: clean up sparse endianness warnings in nfscache.c nfsd: nfsd_splice_read and nfsd_readv should return __be32 nfsd: add appropriate __force directives to filehandle generation code fs/nfsd/nfs4proc.c | 8 ++++++-- fs/nfsd/nfs4state.c | 8 ++++++-- fs/nfsd/nfscache.c | 13 +++++++++++-- fs/nfsd/nfsfh.c | 9 ++++++++- fs/nfsd/nfsfh.h | 15 +++++++++++---- fs/nfsd/vfs.c | 7 ++++--- fs/nfsd/vfs.h | 4 ++-- 7 files changed, 48 insertions(+), 16 deletions(-) -- 1.9.3 -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html