#define ORE_DBGMSG2(M...) do {} while (0)
/* #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)
{
return ios->comps->comps[index & ios->comps->single_comp].cred;
*pios = ios;
return 0;
}
+EXPORT_SYMBOL(ore_get_rw_state);
int ore_get_io_state(struct ore_layout *layout, struct ore_components *comps,
struct ore_io_state **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)
{
kfree(ios);
}
}
+EXPORT_SYMBOL(ore_put_io_state);
static void _sync_done(struct ore_io_state *ios, void *p)
{
return acumulated_lin_err;
}
+EXPORT_SYMBOL(ore_check_io);
/*
* L - logical offset into the file
out:
return ret;
}
+EXPORT_SYMBOL(ore_create);
int ore_remove(struct ore_io_state *ios)
{
out:
return ret;
}
+EXPORT_SYMBOL(ore_remove);
static int _write_mirror(struct ore_io_state *ios, int cur_comp)
{
ret = ore_io_execute(ios);
return ret;
}
+EXPORT_SYMBOL(ore_write);
static int _read_mirror(struct ore_io_state *ios, unsigned cur_comp)
{
ret = ore_io_execute(ios);
return ret;
}
+EXPORT_SYMBOL(ore_read);
int extract_attr_from_ios(struct ore_io_state *ios, struct osd_attr *attr)
{
return -EIO;
}
+EXPORT_SYMBOL(extract_attr_from_ios);
static int _truncate_mirrors(struct ore_io_state *ios, unsigned cur_comp,
struct osd_attr *attr)
ore_put_io_state(ios);
return ret;
}
+EXPORT_SYMBOL(ore_truncate);
const struct osd_attr g_attr_logical_length = ATTR_DEF(
OSD_APAGE_OBJECT_INFORMATION, OSD_ATTR_OI_LOGICAL_LENGTH, 8);
+EXPORT_SYMBOL(g_attr_logical_length);