return 0;
}
+EXPORT_SYMBOL(class_find_param);
/**
* Finds a parameter in \a params and copies it to \a copy.
}
return 1;
}
+EXPORT_SYMBOL(class_get_next_param);
/* returns 0 if this is the first key in the buffer, else 1.
valp points to first char after key. */
return 0;
}
+EXPORT_SYMBOL(class_match_param);
static int parse_nid(char *buf, void *value)
{
{
return class_parse_value(buf, CLASS_PARSE_NID, (void *)nid, endh);
}
+EXPORT_SYMBOL(class_parse_nid);
int class_parse_net(char *buf, __u32 *net, char **endh)
{
return class_parse_value(buf, CLASS_PARSE_NET, (void *)net, endh);
}
+EXPORT_SYMBOL(class_parse_net);
/* 1 param contains key and match
* 0 param contains key and not match
}
return rc;
}
+EXPORT_SYMBOL(class_match_nid);
int class_match_net(char *buf, char *key, __u32 net)
{
}
return rc;
}
-
-EXPORT_SYMBOL(class_find_param);
-EXPORT_SYMBOL(class_get_next_param);
-EXPORT_SYMBOL(class_match_param);
-EXPORT_SYMBOL(class_parse_nid);
-EXPORT_SYMBOL(class_parse_net);
-EXPORT_SYMBOL(class_match_nid);
EXPORT_SYMBOL(class_match_net);
/********************** class fns **********************/
}
return rc;
}
+EXPORT_SYMBOL(class_attach);
/** Create hashes, self-export, and call type-specific setup.
* Setup is effectively the "start this obd" call.
CERROR("setup %s failed (%d)\n", obd->obd_name, err);
return err;
}
+EXPORT_SYMBOL(class_setup);
/** We have finished using this obd and are ready to destroy it.
* There can be no more references to this obd.
class_decref(obd, "attach", obd);
RETURN(0);
}
+EXPORT_SYMBOL(class_detach);
/** Start shutting down the obd. There may be in-progess ops when
* this is called. We tell them to start shutting down with a call
RETURN(0);
}
+EXPORT_SYMBOL(class_cleanup);
struct obd_device *class_incref(struct obd_device *obd,
const char *scope, const void *source)
return obd;
}
+EXPORT_SYMBOL(class_incref);
void class_decref(struct obd_device *obd, const char *scope, const void *source)
{
class_release_dev(obd);
}
}
+EXPORT_SYMBOL(class_decref);
/** Add a failover nid location.
* Client obd types contact server obd types using this nid list.
}
RETURN(NULL);
}
+EXPORT_SYMBOL(class_get_profile);
/** Create a named "profile".
* This defines the mdc and osc names to use for a client.
}
EXIT;
}
+EXPORT_SYMBOL(class_del_profile);
/* COMPAT_146 */
void class_del_profiles(void)
}
EXIT;
}
+EXPORT_SYMBOL(class_del_profiles);
static int class_set_global(char *ptr, int val, struct lustre_cfg *lcfg)
{
}
return err;
}
+EXPORT_SYMBOL(class_process_config);
int class_process_proc_param(char *prefix, struct lprocfs_vars *lvars,
struct lustre_cfg *lcfg, void *data)
RETURN(0);
#endif
}
+EXPORT_SYMBOL(class_process_proc_param);
int class_config_dump_handler(struct llog_handle * handle,
struct llog_rec_hdr *rec, void *data);
RETURN(rc);
}
+EXPORT_SYMBOL(class_config_parse_llog);
int class_config_dump_handler(struct llog_handle * handle,
struct llog_rec_hdr *rec, void *data)
RETURN(rc);
}
+EXPORT_SYMBOL(class_config_dump_llog);
/** Call class_cleanup and class_detach.
* "Manual" only in the sense that we're faking lcfg commands.
lustre_cfg_free(lcfg);
RETURN(rc);
}
+EXPORT_SYMBOL(class_manual_cleanup);
/*
* uuid<->export lustre hash operations