diff options
Diffstat (limited to 'fs/reiserfs/xattr.c')
| -rw-r--r-- | fs/reiserfs/xattr.c | 9 | 
1 files changed, 9 insertions, 0 deletions
| diff --git a/fs/reiserfs/xattr.c b/fs/reiserfs/xattr.c index 32d8986c26fb..b5b26d8a192c 100644 --- a/fs/reiserfs/xattr.c +++ b/fs/reiserfs/xattr.c @@ -450,6 +450,15 @@ fail:  static inline __u32 xattr_hash(const char *msg, int len)  { +	/* +	 * csum_partial() gives different results for little-endian and +	 * big endian hosts. Images created on little-endian hosts and +	 * mounted on big-endian hosts(and vice versa) will see csum mismatches +	 * when trying to fetch xattrs. Treating the hash as __wsum_t would +	 * lower the frequency of mismatch.  This is an endianness bug in +	 * reiserfs.  The return statement would result in a sparse warning. Do +	 * not fix the sparse warning so as to not hide a reminder of the bug. +	 */  	return csum_partial(msg, len, 0);  } |