#include <linux/ceph/ceph_debug.h>
#include <linux/backing-dev.h>
#include <linux/ctype.h>
#include <linux/fs.h>
#include <linux/inet.h>
#include <linux/in6.h>
#include <linux/key.h>
#include <keys/ceph-type.h>
#include <linux/module.h>
#include <linux/mount.h>
#include <linux/nsproxy.h>
#include <linux/fs_parser.h>
#include <linux/sched.h>
#include <linux/sched/mm.h>
#include <linux/seq_file.h>
#include <linux/slab.h>
#include <linux/statfs.h>
#include <linux/string.h>
#include <linux/vmalloc.h>
#include <linux/ceph/ceph_features.h>
#include <linux/ceph/libceph.h>
#include <linux/ceph/debugfs.h>
#include <linux/ceph/decode.h>
#include <linux/ceph/mon_client.h>
#include <linux/ceph/auth.h>
#include "crypto.h"
bool libceph_compatible(void *data)
{ … }
EXPORT_SYMBOL(…);
static int param_get_supported_features(char *buffer,
const struct kernel_param *kp)
{ … }
static const struct kernel_param_ops param_ops_supported_features = …;
module_param_cb(…);
const char *ceph_msg_type_name(int type)
{ … }
EXPORT_SYMBOL(…);
int ceph_check_fsid(struct ceph_client *client, struct ceph_fsid *fsid)
{ … }
EXPORT_SYMBOL(…);
static int strcmp_null(const char *s1, const char *s2)
{ … }
int ceph_compare_options(struct ceph_options *new_opt,
struct ceph_client *client)
{ … }
EXPORT_SYMBOL(…);
int ceph_parse_fsid(const char *str, struct ceph_fsid *fsid)
{ … }
EXPORT_SYMBOL(…);
enum { … };
enum { … };
static const struct constant_table ceph_param_read_from_replica[] = …;
enum ceph_ms_mode { … };
static const struct constant_table ceph_param_ms_mode[] = …;
static const struct fs_parameter_spec ceph_parameters[] = …;
struct ceph_options *ceph_alloc_options(void)
{ … }
EXPORT_SYMBOL(…);
void ceph_destroy_options(struct ceph_options *opt)
{ … }
EXPORT_SYMBOL(…);
static int get_secret(struct ceph_crypto_key *dst, const char *name,
struct p_log *log)
{ … }
int ceph_parse_mon_ips(const char *buf, size_t len, struct ceph_options *opt,
struct fc_log *l, char delim)
{ … }
EXPORT_SYMBOL(…);
int ceph_parse_param(struct fs_parameter *param, struct ceph_options *opt,
struct fc_log *l)
{ … }
EXPORT_SYMBOL(…);
int ceph_print_client_options(struct seq_file *m, struct ceph_client *client,
bool show_all)
{ … }
EXPORT_SYMBOL(…);
struct ceph_entity_addr *ceph_client_addr(struct ceph_client *client)
{ … }
EXPORT_SYMBOL(…);
u64 ceph_client_gid(struct ceph_client *client)
{ … }
EXPORT_SYMBOL(…);
struct ceph_client *ceph_create_client(struct ceph_options *opt, void *private)
{ … }
EXPORT_SYMBOL(…);
void ceph_destroy_client(struct ceph_client *client)
{ … }
EXPORT_SYMBOL(…);
void ceph_reset_client_addr(struct ceph_client *client)
{ … }
EXPORT_SYMBOL(…);
static bool have_mon_and_osd_map(struct ceph_client *client)
{ … }
int __ceph_open_session(struct ceph_client *client, unsigned long started)
{ … }
EXPORT_SYMBOL(…);
int ceph_open_session(struct ceph_client *client)
{ … }
EXPORT_SYMBOL(…);
int ceph_wait_for_latest_osdmap(struct ceph_client *client,
unsigned long timeout)
{ … }
EXPORT_SYMBOL(…);
static int __init init_ceph_lib(void)
{ … }
static void __exit exit_ceph_lib(void)
{ … }
module_init(…) …;
module_exit(exit_ceph_lib);
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;