#include <linux/ceph/ceph_debug.h>
#include <linux/bug.h>
#include <linux/err.h>
#include <linux/random.h>
#include <linux/slab.h>
#include <linux/types.h>
#include <linux/ceph/messenger.h>
#include <linux/ceph/decode.h>
#include "mdsmap.h"
#include "mds_client.h"
#include "super.h"
#define CEPH_MDS_IS_READY(i, ignore_laggy) …
static int __mdsmap_get_random_mds(struct ceph_mdsmap *m, bool ignore_laggy)
{ … }
int ceph_mdsmap_get_random_mds(struct ceph_mdsmap *m)
{ … }
#define __decode_and_drop_type(p, end, type, bad) …
#define __decode_and_drop_set(p, end, type, bad) …
#define __decode_and_drop_map(p, end, ktype, vtype, bad) …
static int __decode_and_drop_compat_set(void **p, void* end)
{ … }
struct ceph_mdsmap *ceph_mdsmap_decode(struct ceph_mds_client *mdsc, void **p,
void *end, bool msgr2)
{ … }
void ceph_mdsmap_destroy(struct ceph_mdsmap *m)
{ … }
bool ceph_mdsmap_is_cluster_available(struct ceph_mdsmap *m)
{ … }