Commit cf283ade authored by Boaz Harrosh's avatar Boaz Harrosh

ore: Make ore its own module

Export everything from ore need exporting. Change Kbuild and Kconfig
to build ore.ko as an independent module. Import ore from exofs
Signed-off-by: default avatarBoaz Harrosh <bharrosh@panasas.com>
parent 8ff660ab
...@@ -12,5 +12,8 @@ ...@@ -12,5 +12,8 @@
# Kbuild - Gets included from the Kernels Makefile and build system # Kbuild - Gets included from the Kernels Makefile and build system
# #
exofs-y := ore.o inode.o file.o symlink.o namei.o dir.o super.o # ore module library
obj-$(CONFIG_ORE) += ore.o
exofs-y := inode.o file.o symlink.o namei.o dir.o super.o
obj-$(CONFIG_EXOFS_FS) += exofs.o obj-$(CONFIG_EXOFS_FS) += exofs.o
config ORE
tristate
config EXOFS_FS config EXOFS_FS
tristate "exofs: OSD based file system support" tristate "exofs: OSD based file system support"
depends on SCSI_OSD_ULD depends on SCSI_OSD_ULD
select ORE
help help
EXOFS is a file system that uses an OSD storage device, EXOFS is a file system that uses an OSD storage device,
as its backing storage. as its backing storage.
......
...@@ -43,6 +43,10 @@ ...@@ -43,6 +43,10 @@
#define ORE_DBGMSG2(M...) do {} while (0) #define ORE_DBGMSG2(M...) do {} while (0)
/* #define ORE_DBGMSG2 ORE_DBGMSG */ /* #define ORE_DBGMSG2 ORE_DBGMSG */
MODULE_AUTHOR("Boaz Harrosh <bharrosh@panasas.com>");
MODULE_DESCRIPTION("Objects Raid Engine ore.ko");
MODULE_LICENSE("GPL");
static u8 *_ios_cred(struct ore_io_state *ios, unsigned index) static u8 *_ios_cred(struct ore_io_state *ios, unsigned index)
{ {
return ios->comps->comps[index & ios->comps->single_comp].cred; return ios->comps->comps[index & ios->comps->single_comp].cred;
...@@ -84,12 +88,14 @@ int ore_get_rw_state(struct ore_layout *layout, struct ore_components *comps, ...@@ -84,12 +88,14 @@ int ore_get_rw_state(struct ore_layout *layout, struct ore_components *comps,
*pios = ios; *pios = ios;
return 0; return 0;
} }
EXPORT_SYMBOL(ore_get_rw_state);
int ore_get_io_state(struct ore_layout *layout, struct ore_components *comps, int ore_get_io_state(struct ore_layout *layout, struct ore_components *comps,
struct ore_io_state **ios) struct ore_io_state **ios)
{ {
return ore_get_rw_state(layout, comps, true, 0, 0, ios); return ore_get_rw_state(layout, comps, true, 0, 0, ios);
} }
EXPORT_SYMBOL(ore_get_io_state);
void ore_put_io_state(struct ore_io_state *ios) void ore_put_io_state(struct ore_io_state *ios)
{ {
...@@ -108,6 +114,7 @@ void ore_put_io_state(struct ore_io_state *ios) ...@@ -108,6 +114,7 @@ void ore_put_io_state(struct ore_io_state *ios)
kfree(ios); kfree(ios);
} }
} }
EXPORT_SYMBOL(ore_put_io_state);
static void _sync_done(struct ore_io_state *ios, void *p) static void _sync_done(struct ore_io_state *ios, void *p)
{ {
...@@ -236,6 +243,7 @@ int ore_check_io(struct ore_io_state *ios, u64 *resid) ...@@ -236,6 +243,7 @@ int ore_check_io(struct ore_io_state *ios, u64 *resid)
return acumulated_lin_err; return acumulated_lin_err;
} }
EXPORT_SYMBOL(ore_check_io);
/* /*
* L - logical offset into the file * L - logical offset into the file
...@@ -487,6 +495,7 @@ int ore_create(struct ore_io_state *ios) ...@@ -487,6 +495,7 @@ int ore_create(struct ore_io_state *ios)
out: out:
return ret; return ret;
} }
EXPORT_SYMBOL(ore_create);
int ore_remove(struct ore_io_state *ios) int ore_remove(struct ore_io_state *ios)
{ {
...@@ -511,6 +520,7 @@ int ore_remove(struct ore_io_state *ios) ...@@ -511,6 +520,7 @@ int ore_remove(struct ore_io_state *ios)
out: out:
return ret; return ret;
} }
EXPORT_SYMBOL(ore_remove);
static int _write_mirror(struct ore_io_state *ios, int cur_comp) static int _write_mirror(struct ore_io_state *ios, int cur_comp)
{ {
...@@ -617,6 +627,7 @@ int ore_write(struct ore_io_state *ios) ...@@ -617,6 +627,7 @@ int ore_write(struct ore_io_state *ios)
ret = ore_io_execute(ios); ret = ore_io_execute(ios);
return ret; return ret;
} }
EXPORT_SYMBOL(ore_write);
static int _read_mirror(struct ore_io_state *ios, unsigned cur_comp) static int _read_mirror(struct ore_io_state *ios, unsigned cur_comp)
{ {
...@@ -685,6 +696,7 @@ int ore_read(struct ore_io_state *ios) ...@@ -685,6 +696,7 @@ int ore_read(struct ore_io_state *ios)
ret = ore_io_execute(ios); ret = ore_io_execute(ios);
return ret; return ret;
} }
EXPORT_SYMBOL(ore_read);
int extract_attr_from_ios(struct ore_io_state *ios, struct osd_attr *attr) int extract_attr_from_ios(struct ore_io_state *ios, struct osd_attr *attr)
{ {
...@@ -706,6 +718,7 @@ int extract_attr_from_ios(struct ore_io_state *ios, struct osd_attr *attr) ...@@ -706,6 +718,7 @@ int extract_attr_from_ios(struct ore_io_state *ios, struct osd_attr *attr)
return -EIO; return -EIO;
} }
EXPORT_SYMBOL(extract_attr_from_ios);
static int _truncate_mirrors(struct ore_io_state *ios, unsigned cur_comp, static int _truncate_mirrors(struct ore_io_state *ios, unsigned cur_comp,
struct osd_attr *attr) struct osd_attr *attr)
...@@ -815,6 +828,8 @@ int ore_truncate(struct ore_layout *layout, struct ore_components *comps, ...@@ -815,6 +828,8 @@ int ore_truncate(struct ore_layout *layout, struct ore_components *comps,
ore_put_io_state(ios); ore_put_io_state(ios);
return ret; return ret;
} }
EXPORT_SYMBOL(ore_truncate);
const struct osd_attr g_attr_logical_length = ATTR_DEF( const struct osd_attr g_attr_logical_length = ATTR_DEF(
OSD_APAGE_OBJECT_INFORMATION, OSD_ATTR_OI_LOGICAL_LENGTH, 8); OSD_APAGE_OBJECT_INFORMATION, OSD_ATTR_OI_LOGICAL_LENGTH, 8);
EXPORT_SYMBOL(g_attr_logical_length);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment