dmmp_...s_get(3)

πŸ“¦
version 0.15.1 Β· 3 versions
, in arch rolling, fedora 44, nixos 26.05, nixpkgs unstable, opensuse-leap 16.0

✨ dmmp_path_status_get β€” the vibe check for your paths ✨

okay bestie, welcome to the Device Mapper Multipath API corner of the libdmmp manual πŸ’– this one's a little function that tells you what's actually going on with a multipath path. no cap, it's giving "is this path okay or is it going through it". πŸ¦‹


πŸ’… NAME πŸ’…

dmmp_path_status_get β€” go get that path status, queen. Retrieve the path status. πŸ‘‘


🌸 SYNOPSIS 🌸

uint32_t dmmp_path_status_get (struct dmmp_path *dmmp_p);

πŸŽ€ ARGUMENTS πŸŽ€

  • dmmp_p β€” a pointer to a struct dmmp_path. sounds chill, right? WRONG. if this pointer is NULL, your program gets terminated by assert. like, straight up ended. no warning text, no apology, just πŸ’€. so please, for the love of everything, don't pass NULL. πŸ™ˆ

🫢 DESCRIPTION 🫢

so the function hands you back a status, and here's the full menu of possible statuses, because the valid path statuses are:

  • DMMP_PATH_STATUS_UNKNOWN β€” mystery era. we simply do not know. πŸ•΅οΈ
  • DMMP_PATH_STATUS_DOWN β€” the path is down, and you should not try to send commands to it. it's not answering, bestie, leave it alone. 😭
  • DMMP_PATH_STATUS_UP β€” the path is up and I/O can be sent to it. main character energy, we love to see it. πŸ”₯
  • DMMP_PATH_STATUS_SHAKY β€” only the emc_clariion checker reports this, when the path is not available for "normal" operations. it's giving shaky, fr fr. 🫨
  • DMMP_PATH_STATUS_GHOST β€” only the hp_sw and rdac checkers. this one means a "passive/standby" path on active/passive HP arrays. these paths will return valid answers to certain SCSI commands (tur, read_capacity, inquiry, start_stop), but they will fail I/O commands. the path needs an initialization command sent to it before I/Os will succeed. so it's technically there but it's ghosting you πŸ‘»
  • DMMP_PATH_STATUS_PENDING β€” available for all async checkers, when a check IO is in flight. like, hold on, we're mid-check, be patient. ⏳
  • DMMP_PATH_STATUS_TIMEOUT β€” only the tur checker, when the command timed out. it didn't ghost you on purpose, it just ran out of time. πŸ’€
  • DMMP_PATH_STATUS_DELAYED β€” okay so if a path fails after being up for fewer than delay_watch_checks checks, then when it comes back up again it will not be marked as up until it has been up for delay_wait_checks checks. during that window, it's marked as "delayed". it's in its healing era, give it a sec. 🌱

⭐ RETURN ⭐

uint32_t. that's it, that's the return type. a whole unsigned 32-bit int. slay. πŸ’…


heads up bestie: those status constants are the exact strings β€” copy them character for character or your code will simply not vibe. πŸ’œ

that's the whole page, bestie β€” you're officially fluent in dmmp_path_status_get. 🌈 this gorgeous little writeup is dmmp_path_status_get from dmmp_...s_get(3), June 2025 edition, brought to you by the libdmmp girlies. mwah, go forth and check those paths. πŸŽ€βœ¨πŸ«Ά