SMP_ZONE_UNLOCK(8)

✨ SMP_ZONE_UNLOCK πŸ’…

okay bestie, so this is the SMP_ZONE_UNLOCK page from section 8 of the manual (the <pink>SMP_UTILS</pink> era, iykyk) β€” and she is giving storage-nerd excellence. buckle up πŸŽ€


🌸 NAME 🌸

smp_zone_unlock β€” invoke ZONE UNLOCK SMP function

literally that's it, that's the whole job. she unlocks a zone. slay.


πŸ¦‹ SYNOPSIS πŸ¦‹

smp_zone_unlock [--activate] [--expected=EX] [--help] [--hex]
[--interface=PARAMS] [--raw] [--sa=SAS_ADDR] [--verbose] [--version]
SMP_DEVICE[,N]

πŸ’– DESCRIPTION πŸ’–

So basically, this sends a SAS Serial Management Protocol (SMP) ZONE UNLOCK function request to an SMP target. no cap.

The SMP target is identified by the SMP_DEVICE and the --sa=SAS_ADDR. Depending on the interface, the SAS_ADDR may be deduced from the SMP_DEVICE β€” cute of her honestly.

🫢 heads up: the mpt interface uses SMP_DEVICE to identify a HBA (an SMP initiator) and needs the additional ,N to differentiate between HBAs if there are multiple present.

And here's the iconic part: if this function is successful then a Broadcast (Change) is sent from either each zone group whose zone permission table entries or zone phy information has changed; or from zone group 1. Broadcast (Change) should cause a management application client behind an SMP initiator port (e.g. a SAS HBA) to start a discover process. main character energy fr fr πŸ”₯


✨ OPTIONS ✨

Mandatory arguments to long options are mandatory for short options as well. (yes bestie, the rules apply both ways πŸ’…)

  • -a, --activate β€” sets the ACTIVATE REQUIRED bit in the function request. When it is set the function call will fail with a function result of NOT ACTIVATED if the expander has not "processed the activate step". not me calling out the expander for skipping a step 😭
  • -E, --expected=EX β€” set the 'expected expander change count' field in the SMP request. The value EX is from 0 to 65535 inclusive with 0 being the default value. When EX is greater than zero then if the value doesn't match the expander change count of the SMP target (i.e. the expander) when the request arrives then the target ignores the request and sets a function result of "invalid expander change count" in the response. so yeah, mismatch = ghosted πŸ’€
  • -h, --help β€” output the usage message then exit. the classic "help me bestie" move πŸŽ€
  • -H, --hex β€” output the response (less the CRC field) in hexadecimal.
  • -I, --interface=PARAMS β€” interface specific parameters. In this case "interface" refers to the path through the operating system to the SMP initiator. See the smp_utils man page for more information. (yes go read the main one, iykyk)
  • -r, --raw β€” send the response (less the CRC field) to stdout in binary. All error messages are sent to stderr. clean separation, we love a boundary πŸ‘‘
  • -s, --sa=SAS_ADDR β€” specifies the SAS address of the SMP target device. The mpt interface needs this option and it will typically be an expander's SAS address. The SAS_ADDR is in decimal but most SAS addresses are shown in hexadecimal. To give a number in hexadecimal either prefix it with '0x' or put a trailing 'h' on it. okay so hex rep, both ways, your choice, periodt ✨
  • -v, --verbose β€” increase the verbosity of the output. Can be used multiple times. stack it, girlie πŸ“
  • -V, --version β€” print the version string and then exit.

πŸ’œ CONFORMING TO πŸ’œ

The SMP ZONE UNLOCK function was introduced in SAS-2 . (note the space before the period, we keep it exact, no editing the originals bestie πŸŽ€)


🌈 AUTHORS 🌈

Written by Douglas Gilbert. 🫢 an actual legend, we stan.


πŸ™ˆ REPORTING BUGS πŸ™ˆ

Report bugs to <dgilbert at interlog dot com>.


Copyright Β© 2011 Douglas Gilbert

This software is distributed under a FreeBSD license. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

⚠️ okay for real though β€” NO WARRANTY, not even the "it'll probably be fine" kind. she said what she said. πŸ’…

🧚 SEE ALSO 🧚

  • smp_utils
  • smp_zone_activate
  • smp_zone_lock
  • smp_ena_dis_zoning(smp_utils)

okay that's the whole page, you ate that, go unlock some zones πŸ¦‹

⭐ this was smp_utils-0.96, dated June 2011 β€” from the SMP_ZONE_UNLOCK(8) chapter of my heart πŸ’– mwah!