Provided by: libpmemlog-dev_1.12.1-2_amd64 bug

NAME

       pmemlog_append(),  pmemlog_appendv()  - append bytes to the persistent memory resident log
       file

SYNOPSIS

              #include <libpmemlog.h>

              int pmemlog_append(PMEMlogpool *plp, const void *buf, size_t count);
              int pmemlog_appendv(PMEMlogpool *plp, const struct iovec *iov, int iovcnt);

DESCRIPTION

       The pmemlog_append() function appends count bytes from buf to the current write offset  in
       the  log memory pool plp.  Calling this function is analogous to appending to a file.  The
       append is atomic and cannot be torn by a program failure or system crash.

       The pmemlog_appendv() function appends to the log memory pool plp from the  scatter/gather
       list  iov  in  a  manner  similar  to  writev(2).   The entire list of buffers is appended
       atomically, as if the buffers in iov were concatenated in order.  The append is atomic and
       cannot be torn by a program failure or system crash.

RETURN VALUE

       On success, pmemlog_append() and pmemlog_appendv() return 0.  On error, they return -1 and
       set errno appropriately.

ERRORS

       EINVAL The vector count iovcnt is less than zero.

       ENOSPC There is no room for the data in the log file.

       EROFS The log file is open in read-only mode.

NOTES

       Since libpmemlog(7) is designed as a low-latency code path, many of the  checks  routinely
       done   by  the  operating  system  for  writev(2)  are  not  practical  in  the  library's
       implementation of pmemlog_appendv().  No attempt is  made  to  detect  NULL  or  incorrect
       pointers, for example.

SEE ALSO

       writev(2), libpmemlog(7) and <https://pmem.io>