Loading include/linux/ceph/ceph_fs.h +1 −0 Original line number Diff line number Diff line Loading @@ -147,6 +147,7 @@ struct ceph_dir_layout { #define CEPH_MSG_OSD_OP 42 #define CEPH_MSG_OSD_OPREPLY 43 #define CEPH_MSG_WATCH_NOTIFY 44 #define CEPH_MSG_OSD_BACKOFF 61 /* watch-notify operations */ Loading include/linux/ceph/osd_client.h +45 −0 Original line number Diff line number Diff line #ifndef _FS_CEPH_OSD_CLIENT_H #define _FS_CEPH_OSD_CLIENT_H #include <linux/bitrev.h> #include <linux/completion.h> #include <linux/kref.h> #include <linux/mempool.h> Loading Loading @@ -36,6 +37,8 @@ struct ceph_osd { struct ceph_connection o_con; struct rb_root o_requests; struct rb_root o_linger_requests; struct rb_root o_backoff_mappings; struct rb_root o_backoffs_by_id; struct list_head o_osd_lru; struct ceph_auth_handshake o_auth; unsigned long lru_ttl; Loading Loading @@ -275,6 +278,48 @@ struct ceph_watch_item { struct ceph_entity_addr addr; }; struct ceph_spg_mapping { struct rb_node node; struct ceph_spg spgid; struct rb_root backoffs; }; struct ceph_hobject_id { void *key; size_t key_len; void *oid; size_t oid_len; u64 snapid; u32 hash; u8 is_max; void *nspace; size_t nspace_len; s64 pool; /* cache */ u32 hash_reverse_bits; }; static inline void ceph_hoid_build_hash_cache(struct ceph_hobject_id *hoid) { hoid->hash_reverse_bits = bitrev32(hoid->hash); } /* * PG-wide backoff: [begin, end) * per-object backoff: begin == end */ struct ceph_osd_backoff { struct rb_node spg_node; struct rb_node id_node; struct ceph_spg spgid; u64 id; struct ceph_hobject_id *begin; struct ceph_hobject_id *end; }; #define CEPH_LINGER_ID_START 0xffff000000000000ULL struct ceph_osd_client { Loading include/linux/ceph/osdmap.h +1 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ struct ceph_spg { }; int ceph_pg_compare(const struct ceph_pg *lhs, const struct ceph_pg *rhs); int ceph_spg_compare(const struct ceph_spg *lhs, const struct ceph_spg *rhs); #define CEPH_POOL_FLAG_HASHPSPOOL (1ULL << 0) /* hash pg seed and pool id together */ Loading include/linux/ceph/rados.h +6 −0 Original line number Diff line number Diff line Loading @@ -439,6 +439,12 @@ enum { const char *ceph_osd_watch_op_name(int o); enum { CEPH_OSD_BACKOFF_OP_BLOCK = 1, CEPH_OSD_BACKOFF_OP_ACK_BLOCK = 2, CEPH_OSD_BACKOFF_OP_UNBLOCK = 3, }; /* * an individual object operation. each may be accompanied by some data * payload Loading net/ceph/ceph_common.c +1 −0 Original line number Diff line number Diff line Loading @@ -85,6 +85,7 @@ const char *ceph_msg_type_name(int type) case CEPH_MSG_OSD_OP: return "osd_op"; case CEPH_MSG_OSD_OPREPLY: return "osd_opreply"; case CEPH_MSG_WATCH_NOTIFY: return "watch_notify"; case CEPH_MSG_OSD_BACKOFF: return "osd_backoff"; default: return "unknown"; } } Loading Loading
include/linux/ceph/ceph_fs.h +1 −0 Original line number Diff line number Diff line Loading @@ -147,6 +147,7 @@ struct ceph_dir_layout { #define CEPH_MSG_OSD_OP 42 #define CEPH_MSG_OSD_OPREPLY 43 #define CEPH_MSG_WATCH_NOTIFY 44 #define CEPH_MSG_OSD_BACKOFF 61 /* watch-notify operations */ Loading
include/linux/ceph/osd_client.h +45 −0 Original line number Diff line number Diff line #ifndef _FS_CEPH_OSD_CLIENT_H #define _FS_CEPH_OSD_CLIENT_H #include <linux/bitrev.h> #include <linux/completion.h> #include <linux/kref.h> #include <linux/mempool.h> Loading Loading @@ -36,6 +37,8 @@ struct ceph_osd { struct ceph_connection o_con; struct rb_root o_requests; struct rb_root o_linger_requests; struct rb_root o_backoff_mappings; struct rb_root o_backoffs_by_id; struct list_head o_osd_lru; struct ceph_auth_handshake o_auth; unsigned long lru_ttl; Loading Loading @@ -275,6 +278,48 @@ struct ceph_watch_item { struct ceph_entity_addr addr; }; struct ceph_spg_mapping { struct rb_node node; struct ceph_spg spgid; struct rb_root backoffs; }; struct ceph_hobject_id { void *key; size_t key_len; void *oid; size_t oid_len; u64 snapid; u32 hash; u8 is_max; void *nspace; size_t nspace_len; s64 pool; /* cache */ u32 hash_reverse_bits; }; static inline void ceph_hoid_build_hash_cache(struct ceph_hobject_id *hoid) { hoid->hash_reverse_bits = bitrev32(hoid->hash); } /* * PG-wide backoff: [begin, end) * per-object backoff: begin == end */ struct ceph_osd_backoff { struct rb_node spg_node; struct rb_node id_node; struct ceph_spg spgid; u64 id; struct ceph_hobject_id *begin; struct ceph_hobject_id *end; }; #define CEPH_LINGER_ID_START 0xffff000000000000ULL struct ceph_osd_client { Loading
include/linux/ceph/osdmap.h +1 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ struct ceph_spg { }; int ceph_pg_compare(const struct ceph_pg *lhs, const struct ceph_pg *rhs); int ceph_spg_compare(const struct ceph_spg *lhs, const struct ceph_spg *rhs); #define CEPH_POOL_FLAG_HASHPSPOOL (1ULL << 0) /* hash pg seed and pool id together */ Loading
include/linux/ceph/rados.h +6 −0 Original line number Diff line number Diff line Loading @@ -439,6 +439,12 @@ enum { const char *ceph_osd_watch_op_name(int o); enum { CEPH_OSD_BACKOFF_OP_BLOCK = 1, CEPH_OSD_BACKOFF_OP_ACK_BLOCK = 2, CEPH_OSD_BACKOFF_OP_UNBLOCK = 3, }; /* * an individual object operation. each may be accompanied by some data * payload Loading
net/ceph/ceph_common.c +1 −0 Original line number Diff line number Diff line Loading @@ -85,6 +85,7 @@ const char *ceph_msg_type_name(int type) case CEPH_MSG_OSD_OP: return "osd_op"; case CEPH_MSG_OSD_OPREPLY: return "osd_opreply"; case CEPH_MSG_WATCH_NOTIFY: return "watch_notify"; case CEPH_MSG_OSD_BACKOFF: return "osd_backoff"; default: return "unknown"; } } Loading