]>
Commit | Line | Data |
---|---|---|
8fc91fd8 SW |
1 | #ifndef _FS_CEPH_MSGPOOL |
2 | #define _FS_CEPH_MSGPOOL | |
3 | ||
d52f847a | 4 | #include <linux/mempool.h> |
8fc91fd8 SW |
5 | #include "messenger.h" |
6 | ||
7 | /* | |
8 | * we use memory pools for preallocating messages we may receive, to | |
9 | * avoid unexpected OOM conditions. | |
10 | */ | |
11 | struct ceph_msgpool { | |
4f48280e | 12 | const char *name; |
d52f847a | 13 | mempool_t *pool; |
8fc91fd8 | 14 | int front_len; /* preallocated payload size */ |
8fc91fd8 SW |
15 | }; |
16 | ||
17 | extern int ceph_msgpool_init(struct ceph_msgpool *pool, | |
4f48280e SW |
18 | int front_len, int size, bool blocking, |
19 | const char *name); | |
8fc91fd8 | 20 | extern void ceph_msgpool_destroy(struct ceph_msgpool *pool); |
8f3bc053 SW |
21 | extern struct ceph_msg *ceph_msgpool_get(struct ceph_msgpool *, |
22 | int front_len); | |
8fc91fd8 SW |
23 | extern void ceph_msgpool_put(struct ceph_msgpool *, struct ceph_msg *); |
24 | ||
25 | #endif |