]>
git.proxmox.com Git - ceph.git/blob - ceph/src/pmdk/src/libpmem2/pmem2_utils.c
1 // SPDX-License-Identifier: BSD-3-Clause
2 /* Copyright 2019-2020, Intel Corporation */
5 * pmem2_utils.c -- libpmem2 utilities functions
12 #include "pmem2_utils.h"
16 * pmem2_malloc -- allocate a buffer and handle an error
19 pmem2_malloc(size_t size
, int *err
)
21 void *ptr
= Malloc(size
);
25 ERR("!malloc(%zu)", size
);
33 * pmem2_zalloc -- allocate a buffer, zero it and handle an error
36 pmem2_zalloc(size_t size
, int *err
)
38 void *ptr
= Zalloc(size
);
42 ERR("!malloc(%zu)", size
);
50 * pmem2_realloc -- reallocate a buffer and handle an error
53 pmem2_realloc(void *ptr
, size_t size
, int *err
)
55 void *newptr
= Realloc(ptr
, size
);
59 ERR("!realloc(%zu)", size
);
67 pmem2_err_to_errno(int err
)
70 FATAL("positive error code is a bug in libpmem2");
72 if (err
== PMEM2_E_NOSUPP
)
75 if (err
<= PMEM2_E_UNKNOWN
)
83 * converts windows error codes to pmem2 error
86 pmem2_lasterror_to_err()
88 int err
= util_lasterror_to_errno(GetLastError());
91 return PMEM2_E_UNKNOWN
;