pmem2_source_size - Man Page
returns the size of the data source
Synopsis
#include <libpmem2.h> struct pmem2_source; int pmem2_source_size(const struct pmem2_source *source, size_t *size);
Description
The pmem2_source_size() function retrieves the size of the file in bytes pointed by file descriptor stored in the source and puts it in *size.
This function hides the quirkiness of Device DAX size detection.
Return Value
The pmem2_source_size() function returns 0 on success. If the function fails, the *size variable is left unmodified and a negative error code is returned.
Errors
The pmem2_source_size() can fail with the following errors:
- PMEM2_E_INVALID_FILE_HANDLE - source contains an invalid file handle.
- PMEM2_E_INVALID_FILE_TYPE - file descriptor points to a directory, block device, pipe, or socket.
- PMEM2_E_INVALID_FILE_TYPE - file descriptor points to a character device other than Device DAX.
- PMEM2_E_INVALID_SIZE_FORMAT - kernel query for Device DAX size returned data in invalid format.
- -errno set by failing fstat(2), while trying to validate the file descriptor.
- -errno set by failing realpath(3), while trying to determine whether fd points to a Device DAX.
- -errno set by failing open(2), while trying to determine Device DAX’s size.
- -errno set by failing read(2), while trying to determine Device DAX’s size.
- -errno set by failing strtoull(3), while trying to determine Device DAX’s size.
See Also
errno(3), fstat(2), realpath(3), open(2), read(2), strtoull(3), pmem2_config_new(3), libpmem2(7) and https://pmem.io\c
Referenced By
pmem2_map_new(3), pmem2_source_from_anon(3).
2024-07-18 PMDK - PMDK Programmer's Manual