| 
									
										
										
										
											2009-10-06 11:31:07 -07:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  * Ceph 'frag' type | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2010-04-06 15:14:15 -07:00
										 |  |  | #include <linux/module.h>
 | 
					
						
							|  |  |  | #include <linux/ceph/types.h>
 | 
					
						
							| 
									
										
										
										
											2009-10-06 11:31:07 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | int ceph_frag_compare(__u32 a, __u32 b) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	unsigned va = ceph_frag_value(a); | 
					
						
							|  |  |  | 	unsigned vb = ceph_frag_value(b); | 
					
						
							|  |  |  | 	if (va < vb) | 
					
						
							|  |  |  | 		return -1; | 
					
						
							|  |  |  | 	if (va > vb) | 
					
						
							|  |  |  | 		return 1; | 
					
						
							|  |  |  | 	va = ceph_frag_bits(a); | 
					
						
							|  |  |  | 	vb = ceph_frag_bits(b); | 
					
						
							|  |  |  | 	if (va < vb) | 
					
						
							|  |  |  | 		return -1; | 
					
						
							|  |  |  | 	if (va > vb) | 
					
						
							|  |  |  | 		return 1; | 
					
						
							|  |  |  | 	return 0; | 
					
						
							|  |  |  | } |