libceph: move ceph_file_layout helpers to ceph_fs.h
Move ceph_file_layout helper macros and inline functions to ceph_fs.h. Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
This commit is contained in:
		
					parent
					
						
							
								22116525ba
							
						
					
				
			
			
				commit
				
					
						e8221464fc
					
				
			
		
					 2 changed files with 23 additions and 27 deletions
				
			
		| 
						 | 
					@ -53,6 +53,29 @@ struct ceph_file_layout {
 | 
				
			||||||
	__le32 fl_pg_pool;      /* namespace, crush ruleset, rep level */
 | 
						__le32 fl_pg_pool;      /* namespace, crush ruleset, rep level */
 | 
				
			||||||
} __attribute__ ((packed));
 | 
					} __attribute__ ((packed));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define ceph_file_layout_su(l) ((__s32)le32_to_cpu((l).fl_stripe_unit))
 | 
				
			||||||
 | 
					#define ceph_file_layout_stripe_count(l) \
 | 
				
			||||||
 | 
						((__s32)le32_to_cpu((l).fl_stripe_count))
 | 
				
			||||||
 | 
					#define ceph_file_layout_object_size(l) ((__s32)le32_to_cpu((l).fl_object_size))
 | 
				
			||||||
 | 
					#define ceph_file_layout_cas_hash(l) ((__s32)le32_to_cpu((l).fl_cas_hash))
 | 
				
			||||||
 | 
					#define ceph_file_layout_object_su(l) \
 | 
				
			||||||
 | 
						((__s32)le32_to_cpu((l).fl_object_stripe_unit))
 | 
				
			||||||
 | 
					#define ceph_file_layout_pg_pool(l) \
 | 
				
			||||||
 | 
						((__s32)le32_to_cpu((l).fl_pg_pool))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static inline unsigned ceph_file_layout_stripe_width(struct ceph_file_layout *l)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						return le32_to_cpu(l->fl_stripe_unit) *
 | 
				
			||||||
 | 
							le32_to_cpu(l->fl_stripe_count);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* "period" == bytes before i start on a new set of objects */
 | 
				
			||||||
 | 
					static inline unsigned ceph_file_layout_period(struct ceph_file_layout *l)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						return le32_to_cpu(l->fl_object_size) *
 | 
				
			||||||
 | 
							le32_to_cpu(l->fl_stripe_count);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define CEPH_MIN_STRIPE_UNIT 65536
 | 
					#define CEPH_MIN_STRIPE_UNIT 65536
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int ceph_file_layout_is_valid(const struct ceph_file_layout *layout);
 | 
					int ceph_file_layout_is_valid(const struct ceph_file_layout *layout);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -72,33 +72,6 @@ struct ceph_osdmap {
 | 
				
			||||||
	struct crush_map *crush;
 | 
						struct crush_map *crush;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
 * file layout helpers
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
#define ceph_file_layout_su(l) ((__s32)le32_to_cpu((l).fl_stripe_unit))
 | 
					 | 
				
			||||||
#define ceph_file_layout_stripe_count(l) \
 | 
					 | 
				
			||||||
	((__s32)le32_to_cpu((l).fl_stripe_count))
 | 
					 | 
				
			||||||
#define ceph_file_layout_object_size(l) ((__s32)le32_to_cpu((l).fl_object_size))
 | 
					 | 
				
			||||||
#define ceph_file_layout_cas_hash(l) ((__s32)le32_to_cpu((l).fl_cas_hash))
 | 
					 | 
				
			||||||
#define ceph_file_layout_object_su(l) \
 | 
					 | 
				
			||||||
	((__s32)le32_to_cpu((l).fl_object_stripe_unit))
 | 
					 | 
				
			||||||
#define ceph_file_layout_pg_pool(l) \
 | 
					 | 
				
			||||||
	((__s32)le32_to_cpu((l).fl_pg_pool))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
static inline unsigned ceph_file_layout_stripe_width(struct ceph_file_layout *l)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	return le32_to_cpu(l->fl_stripe_unit) *
 | 
					 | 
				
			||||||
		le32_to_cpu(l->fl_stripe_count);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* "period" == bytes before i start on a new set of objects */
 | 
					 | 
				
			||||||
static inline unsigned ceph_file_layout_period(struct ceph_file_layout *l)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	return le32_to_cpu(l->fl_object_size) *
 | 
					 | 
				
			||||||
		le32_to_cpu(l->fl_stripe_count);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
static inline int ceph_osd_is_up(struct ceph_osdmap *map, int osd)
 | 
					static inline int ceph_osd_is_up(struct ceph_osdmap *map, int osd)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	return (osd < map->max_osd) && (map->osd_state[osd] & CEPH_OSD_UP);
 | 
						return (osd < map->max_osd) && (map->osd_state[osd] & CEPH_OSD_UP);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue