linux/include/linux/ceph/msgpool.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2#ifndef _FS_CEPH_MSGPOOL
   3#define _FS_CEPH_MSGPOOL
   4
   5#include <linux/mempool.h>
   6
   7/*
   8 * we use memory pools for preallocating messages we may receive, to
   9 * avoid unexpected OOM conditions.
  10 */
  11struct ceph_msgpool {
  12        const char *name;
  13        mempool_t *pool;
  14        int type;               /* preallocated message type */
  15        int front_len;          /* preallocated payload size */
  16        int max_data_items;
  17};
  18
  19int ceph_msgpool_init(struct ceph_msgpool *pool, int type,
  20                      int front_len, int max_data_items, int size,
  21                      const char *name);
  22extern void ceph_msgpool_destroy(struct ceph_msgpool *pool);
  23struct ceph_msg *ceph_msgpool_get(struct ceph_msgpool *pool, int front_len,
  24                                  int max_data_items);
  25extern void ceph_msgpool_put(struct ceph_msgpool *, struct ceph_msg *);
  26
  27#endif
  28