PMEMPOOL-TRANSFORM(1)

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

πŸ’– NAME πŸ’–

okay so bestie, this is PMEMPOOL-TRANSFORM(1) from the PMDK Programmer's Manual β€” and pmempool-transform is literally here to do the internal-structure glow-up on a pool set. πŸ’…βœ¨


🌸 SYNOPSIS 🌸

pmempool transform [options] <poolset_file_src> <poolset_file_dst>

⚠️ NOTE ⚠️

🚨 NOTICE bestie: libpmemblk and libpmemlog are deprecated since the PMDK 1.13.0 release. They're still in the docs, but don't build your whole personality on them, okay? πŸ˜­πŸ’€

πŸ¦‹ DESCRIPTION πŸ¦‹

The pmempool transform command modifies the internal structure of a pool set defined by the poolset_file_src file, according to a structure described in the poolset_file_dst file. It's giving source pool set in, target pool set out, and the insides get rearranged to match. πŸ‘‘

The following operations are supported:

  • adding replicas β€” one or more new replicas can be added and synchronized with the other replicas in the pool set. ✨
  • removing replicas β€” one or more replicas can be removed from the pool set. 🫢
  • adding or removing pool set options β€” yup, pool set options can come or go. πŸŽ€

Only one of the above operations can be performed at a time. fr fr, don't try to stack them. πŸ™…β€β™€οΈ

Currently adding and removing replicas are allowed only for pmemobj pools (see libpmemobj(7)). 🌈

The poolset_file_src argument provides the source pool set to be changed. πŸ’–

The poolset_file_dst argument points to the target pool set. 🎯

πŸ› οΈ Available options πŸ› οΈ

  • -d, --dry-run β€” enable dry run mode. In this mode no changes are applied, only a check for viability of the operation is performed. it's basically a vibe check for your pool set πŸ’…
  • -v, --verbose β€” increase verbosity level. more detail, more yapping, we love that for us πŸ—£οΈ
  • -h, --help β€” display help message and exit. iconic behavior. πŸ‘‘

πŸ”₯ EXAMPLES πŸ”₯

✨ Example 1. ✨

Let files /path/poolset_file_src and /path/poolset_file_dst have the following contents:

PMEMPOOLSET
20M /0/partfile1
20M /0/partfile2
25M /0/partfile3
REPLICA
40M /1/partfile1
20M /1/partfile2

PMEMPOOLSET
20M /0/partfile1
20M /0/partfile2
25M /0/partfile3
REPLICA
40M /1/partfile1
20M /1/partfile2
REPLICA
50M /2/partfile1
20M /2/partfile2

Then, the command

pmempool transform /path/poolset_file_src /path/poolset_file_dst

adds a replica to the pool set. All other replicas remain unchanged and the size of the pool remains 60M. slay. πŸ’…βœ¨

πŸ’€ Example 2. πŸ’€

Let files /path/poolset_file_src and /path/poolset_file_dst have the following contents:

PMEMPOOLSET
20M /0/partfile1
20M /0/partfile2
25M /0/partfile3
REPLICA
40M /1/partfile1
20M /1/partfile2

PMEMPOOLSET
20M /0/partfile1
20M /0/partfile2
25M /0/partfile3

Then

pmempool_transform /path/poolset_file_src /path/poolset_file_dst

deletes the second replica from the pool set. The first replica remains unchanged and the size of the pool is still 60M. 🫢


🫢 SEE ALSO 🫢


xoxo bestie, this page comes from PMDK and is dated 2023-05-31. πŸ’–πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from