]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commitc927b7e1f1c11c838641409ff98473c85156fc74
tree152b818c980317a00c08634f246dd1e4b51ba56e
parent6f63e51d1b43262fcf4c634d36222b7e77685234
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: 657161073214 ("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