]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blame - include/linux/ceph/msgpool.h
UBUNTU: Ubuntu-4.10.0-37.41
[mirror_ubuntu-zesty-kernel.git] / include / linux / ceph / msgpool.h
CommitLineData
8fc91fd8
SW
1#ifndef _FS_CEPH_MSGPOOL
2#define _FS_CEPH_MSGPOOL
3
d52f847a 4#include <linux/mempool.h>
8fc91fd8
SW
5
6/*
7 * we use memory pools for preallocating messages we may receive, to
8 * avoid unexpected OOM conditions.
9 */
10struct ceph_msgpool {
4f48280e 11 const char *name;
d52f847a 12 mempool_t *pool;
d50b409f 13 int type; /* preallocated message type */
8fc91fd8 14 int front_len; /* preallocated payload size */
8fc91fd8
SW
15};
16
d50b409f 17extern int ceph_msgpool_init(struct ceph_msgpool *pool, int type,
4f48280e
SW
18 int front_len, int size, bool blocking,
19 const char *name);
8fc91fd8 20extern void ceph_msgpool_destroy(struct ceph_msgpool *pool);
8f3bc053
SW
21extern struct ceph_msg *ceph_msgpool_get(struct ceph_msgpool *,
22 int front_len);
8fc91fd8
SW
23extern void ceph_msgpool_put(struct ceph_msgpool *, struct ceph_msg *);
24
25#endif