ceph: fix endianness bug in frag_tree_split_cmp
authorJeff Layton <jlayton@redhat.com>
Thu, 12 Jan 2017 19:42:39 +0000 (14:42 -0500)
committerIlya Dryomov <idryomov@gmail.com>
Wed, 18 Jan 2017 16:58:45 +0000 (17:58 +0100)
commitfe2ed42517533068ac03eed5630fffafff27eacf
tree152b818c980317a00c08634f246dd1e4b51ba56e
parent1097680d759918ce4a8705381c0ab2ed7bd60cf1
ceph: fix endianness bug in frag_tree_split_cmp

sparse says:

    fs/ceph/inode.c:308:36: warning: incorrect type in argument 1 (different base types)
    fs/ceph/inode.c:308:36:    expected unsigned int [unsigned] [usertype] a
    fs/ceph/inode.c:308:36:    got restricted __le32 [usertype] frag
    fs/ceph/inode.c:308:46: warning: incorrect type in argument 2 (different base types)
    fs/ceph/inode.c:308:46:    expected unsigned int [unsigned] [usertype] b
    fs/ceph/inode.c:308:46:    got restricted __le32 [usertype] frag

We need to convert these values to host-endian before calling the
comparator.

Fixes: a407846ef7c6 ("ceph: don't assume frag tree splits in mds reply are sorted")
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
fs/ceph/inode.c