18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Ceph 'frag' type 48c2ecf20Sopenharmony_ci */ 58c2ecf20Sopenharmony_ci#include <linux/module.h> 68c2ecf20Sopenharmony_ci#include <linux/ceph/types.h> 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ciint ceph_frag_compare(__u32 a, __u32 b) 98c2ecf20Sopenharmony_ci{ 108c2ecf20Sopenharmony_ci unsigned va = ceph_frag_value(a); 118c2ecf20Sopenharmony_ci unsigned vb = ceph_frag_value(b); 128c2ecf20Sopenharmony_ci if (va < vb) 138c2ecf20Sopenharmony_ci return -1; 148c2ecf20Sopenharmony_ci if (va > vb) 158c2ecf20Sopenharmony_ci return 1; 168c2ecf20Sopenharmony_ci va = ceph_frag_bits(a); 178c2ecf20Sopenharmony_ci vb = ceph_frag_bits(b); 188c2ecf20Sopenharmony_ci if (va < vb) 198c2ecf20Sopenharmony_ci return -1; 208c2ecf20Sopenharmony_ci if (va > vb) 218c2ecf20Sopenharmony_ci return 1; 228c2ecf20Sopenharmony_ci return 0; 238c2ecf20Sopenharmony_ci} 24