logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

pmemlog_append()(DEPRECATED), pmemlog_appendv()(DEPRECATED) - append bytes to the persistent memory resi‐

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.

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.

Name

pmemlog_append()(DEPRECATED), pmemlog_appendv()(DEPRECATED) - append bytes to the persistent memory resi‐
       dent log file

Notes

       Since  libpmemlog(7) is designed as a low-latency code path, many of the checks routinely done by the op‐
       erating 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.

Return Value

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

See Also

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

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);

See Also