/* * pmemblk_set_zero -- zero a block in a block memory pool */ int pmemblk_set_zero(PMEMblkpool *pbp, off_t blockno) { LOG(3, "pbp %p blockno %lld", pbp, (long long)blockno); if (pbp->rdonly) { ERR("EROFS (pool is read-only)"); errno = EROFS; return -1; } if (blockno < 0) { ERR("negative block number"); errno = EINVAL; return -1; } unsigned lane; lane_enter(pbp, &lane); int err = btt_set_zero(pbp->bttp, lane, (uint64_t)blockno); lane_exit(pbp, lane); return err; }
/* * pmemblk_set_zero -- zero a block in a block memory pool */ int pmemblk_set_zero(PMEMblkpool *pbp, off_t blockno) { LOG(3, "pbp %p blockno %lld", pbp, (long long)blockno); if (pbp->rdonly) { ERR("EROFS (pool is read-only)"); errno = EROFS; return -1; } int lane = lane_enter(pbp); if (lane < 0) return -1; int err = btt_set_zero(pbp->bttp, lane, blockno); lane_exit(pbp, lane); return err; }