123456789101112131415161718192021222324252627 |
- /* SPDX-License-Identifier: GPL-2.0 */
- #ifndef _FS_CEPH_MSGPOOL
- #define _FS_CEPH_MSGPOOL
- #include <linux/mempool.h>
- /*
- * we use memory pools for preallocating messages we may receive, to
- * avoid unexpected OOM conditions.
- */
- struct ceph_msgpool {
- const char *name;
- mempool_t *pool;
- int type; /* preallocated message type */
- int front_len; /* preallocated payload size */
- int max_data_items;
- };
- int ceph_msgpool_init(struct ceph_msgpool *pool, int type,
- int front_len, int max_data_items, int size,
- const char *name);
- extern void ceph_msgpool_destroy(struct ceph_msgpool *pool);
- struct ceph_msg *ceph_msgpool_get(struct ceph_msgpool *pool, int front_len,
- int max_data_items);
- extern void ceph_msgpool_put(struct ceph_msgpool *, struct ceph_msg *);
- #endif
|