PMEMPOOL-CREATE(1)

πŸ“¦
version 1.13.1 Β· 6 versions
, in debian trixie, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

PMEMPOOL-CREATE(1) πŸ’…βœ¨

hiii bestie 🫢 welcome to the PMDK Programmer’s Manual β€” today’s main character is pmempool-create, the command that creates a persistent memory pool. it’s giving filesystem magic, no cap. let’s get into it πŸ’–


πŸŽ€ NAME πŸŽ€

pmempool-create - create a persistent memory pool


✨ SYNOPSIS ✨

$ pmempool create [<options>] [<type>] [<bsize>] <file>

🚨 NOTE 🚨

NOTICE: The libpmemblk and libpmemlog libraries are deprecated since PMDK 1.13.0 release.

this is important, bestie β€” they’re deprecated, okay? noted and underlined. πŸ“


πŸ’– DESCRIPTION πŸ’–

When you invoke pmempool with the create command, it creates a pool file of the specified type. Depending on the pool type, you can provide more properties of the pool. lowkey customizable, highkey iconic.

Valid pool types are: blk, log and obj which stands for pmemblk, pmemlog and pmemobj pools respectively. By default the pool file is created with minimum allowed size for specified pool type. The minimum sizes for blk, log and obj pool types are PMEMBLK_MIN_POOL, PMEMLOG_MIN_POOL and PMEMOBJ_MIN_POOL respectively. See libpmemblk(7), libpmemlog(7) and libpmemobj(7) for details. 🌈

For pmemblk pool type block size <bsize> is a required argument. not optional, bestie β€” required required.

In order to set custom size of pool use -s option, or use -M option to create a pool of maximum available size on underlying file system. πŸ¦‹

The size argument may be passed in format that permits only the uppercase character for byte - B as specified in IEC 80000-13, IEEE 1541 and the Metric Interchange Format. Standards accept SI units with obligatory B - kB, MB, GB, ... which means multiplier by 1000 and IEC units with optional β€œiB” - KiB, MiB, GiB, ..., K, M, G, ... - which means multiplier by 1024. numbers said slay, units said periodt.

✨ Available options: ✨

  • -s, --size <size> β€” Size of pool file.
  • -M, --max-size β€” Set size of pool to available space of underlying file system.
  • -m, --mode <octal> β€” Set permissions to <octal> (the default is 0664) when creating the files. If the file already exist the permissions are not changed.
  • -i, --inherit <file> β€” Create a new pool of the same size and other properties as <file>.
  • -b, --clear-bad-blocks β€” Clear bad blocks in existing files.
  • -f, --force β€” Remove the pool before creating.
  • -v, --verbose β€” Increase verbosity level.
  • -h, --help β€” Display help message and exit.

πŸ¦‹ Options for PMEMBLK πŸ¦‹

By default when creating a pmem blk pool, the BTT layout is not written until the first write operation of block entry is performed. Using -w option you can force writing the BTT layout by writing zero data to specified block number. By default the write operation is performed to block number 0. Please refer to libpmemblk(7) for details. BTT layout said β€œnot yet,” and -w said β€œbestie, we’re writing.”

  • -w, --write-layout β€” Force writing the BTT layout by performing write operation to block number zero.

🌸 Options for PMEMOBJ 🌸

By default when creating a pmem obj pool, the layout name provided to the libpmemobj library is an empty string. Please refer to libpmemobj(7) for details. empty string era, but you can name it if you want.

  • -l, --layout <layout> β€” Layout name of the pmemobj pool.

🌟 EXAMPLE 🌟

$ pmempool create blk 512 pool.blk

Create a blk pool file of minimum allowed size and block size 512 bytes πŸ’–

$ pmempool create log -M pool.log

Create a log pool file of maximum allowed size ✨

$ pmempool create blk --size=4G --write-layout 1K pool.blk

Create a blk pool file of size 4G, block size 1K and write the BTT layout πŸŽ€

$ pmempool create --layout my_layout obj pool.obj

Create an obj pool file of minimum allowed size and layout β€œmy_layout” πŸ¦‹

$ pmempool create --inherit=pool.log new_pool.log

Create a pool file based on pool.log file 🌈


πŸ‘‘ SEE ALSO πŸ‘‘

pmempool(1), libpmemblk(7), libpmemlog(7), libpmemobj(7) and <https://pmem.io> β€” go read the lore, bestie, it’s all connected. πŸ’œ


πŸ’– cute sign-off: this iconic little manual page comes from PMDK, dated 2023-05-31, and it’s giving official-manual-but-make-it-group-chat. mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from