---
name: "pmemblk_set_zero"
section: "3"
platform: "linux"
package: "libpmemblk-dev"
version: "1.13.1-1.1+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/pmemblk_set_zero"
---

# pmemblk\_set\_zero(3)

block management functions

## NAME

**pmemblk\_set\_zero**()(DEPRECATED), **pmemblk\_set\_error**()(DEPRECATED) - block management functions

## SYNOPSIS

-

  ```
  #include <libpmemblk.h>
  int pmemblk_set_zero(PMEMblkpool *pbp, long long blockno);
  int pmemblk_set_error(PMEMblkpool *pbp, long long blockno);
  ```

## DESCRIPTION

The **pmemblk\_set\_zero**() function writes zeros to block number *blockno* in persistent memory resident array of blocks *pbp*. Using this function is faster than actually writing a block of zeros since [**libpmemblk**(7)](/libpmemblk/7.md) uses metadata to indicate the block should read back as zero.

The **pmemblk\_set\_error**() function sets the error state for block number *blockno* in persistent memory resident array of blocks *pbp*. A block in the error state returns *errno* **EIO** when read. Writing the block clears the error state and returns the block to normal use.

## RETURN VALUE

On success, **pmemblk\_set\_zero**() and **pmemblk\_set\_error**() return 0. On error, they return -1 and set *errno* appropriately.

## SEE ALSO

[**libpmemblk**(7)](/libpmemblk/7.md) and **\<https://pmem.io\>**
