Browse Source

ore: Make ore_calc_stripe_info EXPORT_SYMBOL

ore_calc_stripe_info is needed by exofs::export.c
for the layout calculations. Make it exportable

Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
Boaz Harrosh 13 years ago
parent
commit
611d7a5dc6
2 changed files with 6 additions and 5 deletions
  1. 3 5
      fs/exofs/ore.c
  2. 3 0
      include/scsi/osd_ore.h

+ 3 - 5
fs/exofs/ore.c

@@ -57,9 +57,6 @@ MODULE_LICENSE("GPL");
  * 3. Cache some havily used calculations that will be needed by users.
  * 3. Cache some havily used calculations that will be needed by users.
  */
  */
 
 
-static void ore_calc_stripe_info(struct ore_layout *layout, u64 file_offset,
-				 struct ore_striping_info *si);
-
 enum { BIO_MAX_PAGES_KMALLOC =
 enum { BIO_MAX_PAGES_KMALLOC =
 		(PAGE_SIZE - sizeof(struct bio)) / sizeof(struct bio_vec),};
 		(PAGE_SIZE - sizeof(struct bio)) / sizeof(struct bio_vec),};
 
 
@@ -409,8 +406,8 @@ EXPORT_SYMBOL(ore_check_io);
  *
  *
  *	O = L % stripe_unit + N * stripe_unit + M * group_depth * stripe_unit
  *	O = L % stripe_unit + N * stripe_unit + M * group_depth * stripe_unit
  */
  */
-static void ore_calc_stripe_info(struct ore_layout *layout, u64 file_offset,
-				 struct ore_striping_info *si)
+void ore_calc_stripe_info(struct ore_layout *layout, u64 file_offset,
+			  struct ore_striping_info *si)
 {
 {
 	u32	stripe_unit = layout->stripe_unit;
 	u32	stripe_unit = layout->stripe_unit;
 	u32	group_width = layout->group_width;
 	u32	group_width = layout->group_width;
@@ -443,6 +440,7 @@ static void ore_calc_stripe_info(struct ore_layout *layout, u64 file_offset,
 	si->group_length = T - H;
 	si->group_length = T - H;
 	si->M = M;
 	si->M = M;
 }
 }
+EXPORT_SYMBOL(ore_calc_stripe_info);
 
 
 static int _add_stripe_unit(struct ore_io_state *ios,  unsigned *cur_pg,
 static int _add_stripe_unit(struct ore_io_state *ios,  unsigned *cur_pg,
 		unsigned pgbase, struct ore_per_dev_state *per_dev,
 		unsigned pgbase, struct ore_per_dev_state *per_dev,

+ 3 - 0
include/scsi/osd_ore.h

@@ -146,6 +146,9 @@ static inline unsigned ore_io_state_size(unsigned numdevs)
 
 
 /* ore.c */
 /* ore.c */
 int ore_verify_layout(unsigned total_comps, struct ore_layout *layout);
 int ore_verify_layout(unsigned total_comps, struct ore_layout *layout);
+void ore_calc_stripe_info(struct ore_layout *layout, u64 file_offset,
+			  struct ore_striping_info *si);
+
 int ore_get_rw_state(struct ore_layout *layout, struct ore_components *comps,
 int ore_get_rw_state(struct ore_layout *layout, struct ore_components *comps,
 		     bool is_reading, u64 offset, u64 length,
 		     bool is_reading, u64 offset, u64 length,
 		     struct ore_io_state **ios);
 		     struct ore_io_state **ios);