bionic (3) rpmem_deep_persist.3.gz

Provided by: librpmem-dev_1.4.1-0ubuntu1~18.04.1_amd64 bug

NAME

       rpmem_persist(), rpmem_read(), - functions to copy and read remote pools

SYNOPSIS

              #include <librpmem.h>

              int rpmem_persist(RPMEMpool *rpp, size_t offset,
                  size_t length, unsigned lane);
              int rpmem_deep_persist(RPMEMpool *rpp, size_t offset,
                  size_t length, unsigned lane);
              int rpmem_read(RPMEMpool *rpp, void *buff, size_t offset,
                  size_t length, unsigned lane);

DESCRIPTION

       The rpmem_persist() function copies data of given length at given offset from the associated local memory
       pool and makes sure the data is persistent on the remote node before the function  returns.   The  remote
       node is identified by the rpp handle which must be returned from either rpmem_open(3) or rpmem_create(3).
       The offset is relative to the pool_addr specified in the rpmem_open(3) or rpmem_create(3) call.   If  the
       remote pool was created using rpmem_create() with non-NULL create_attr argument, offset has to be greater
       or equal to 4096.  In that case the first 4096 bytes of the pool is used for storing  the  pool  matadata
       and  cannot be overwritten.  If the pool was created with NULL create_attr argument, the pool metadata is
       not stored with the pool and offset can be any nonnegative number.  The offset and length  combined  must
       not  exceed  the  pool_size passed to rpmem_open(3) or rpmem_create(3).  The rpmem_persist() operation is
       performed using the given lane number.  The lane must be less than the value returned by rpmem_open(3) or
       rpmem_create(3) through the nlanes argument (so it can take a value from 0 to nlanes - 1).

       The rpmem_deep_persist() function works in the same way as rpmem_persist(3) function, but additionally it
       flushes the data to  the  lowest  possible  persistency  domain  available  from  software.   Please  see
       pmem_deep_persist(3) for details.

       The  rpmem_read()  function  reads length bytes of data from a remote pool at offset and copies it to the
       buffer buff.  The operation is performed on the specified lane.  The lane must be  less  than  the  value
       returned  by  rpmem_open(3) or rpmem_create(3) through the nlanes argument (so it can take a value from 0
       to nlanes - 1).  The rpp must point to a remote pool opened or created  previously  by  rpmem_open(3)  or
       rpmem_create(3).

RETURN VALUE

       The  rpmem_persist() function returns 0 if the entire memory area was made persistent on the remote node.
       Otherwise it returns a non-zero value and sets errno appropriately.

       The rpmem_read() function returns 0 if the data was read entirely.  Otherwise it returns a non-zero value
       and sets errno appropriately.

SEE ALSO

       rpmem_create(3),   rpmem_open(3),   rpmem_persist(3),   sysconf(3),   limits.conf(5),  libpmemobj(7)  and
       <http://pmem.io>