SMP_ZONE_LOCK(8)

πŸ’– SMP_ZONE_LOCK(8) β€” smp_zone_lock πŸ’–

okay bestie, welcome to SMP_ZONE_LOCK(8), part of the smp_utils squad πŸŽ€ this one's a manual page from the SMP_UTILS family and she's here to help you fire off a ZONE LOCK SMP function request. buckle up, it's giving storage admin and honestly? we ate. πŸ’…


✨ NAME ✨

smp_zone_lock β€” invoke ZONE LOCK SMP function

like, that's literally her whole job. no cap. πŸ¦‹


🌸 SYNOPSIS 🌸

smp_zone_lock [--expected=EX] [--fpass=FP] [--help] [--hex]
[--inactivity=TL] [--interface=PARAMS] [--password=PA] [--raw]
[--sa=SAS_ADDR] [--verbose] [--version] SMP_DEVICE[,N]

πŸ‘‘ DESCRIPTION πŸ‘‘

so what she does: she sends a SAS Serial Management Protocol (SMP) ZONE LOCK function request to an SMP target. simple as that. πŸ’œ

who's the target, you ask? the SMP target is identified by the SMP_DEVICE and the --sa=SAS_ADDR. depending on which interface you're using, the SAS_ADDR might just get deduced from the SMP_DEVICE β€” she's smart like that. ✨

but heads up bestie, the mpt interface is built different: it uses SMP_DEVICE to identify a HBA (that's an SMP initiator) and it needs that extra ,N on the end to tell the HBAs apart if you've got multiple of them hanging around. it's giving "which one of y'all is it" energy. 😭


πŸ’… OPTIONS πŸ’…

real talk: mandatory arguments to long options are mandatory for short options too. the rules apply to everybody, periodt.
  • -E, --expected=EX β€” sets the 'expected expander change count' field in the SMP request. EX goes from 0 to 65535 inclusive, and 0 is the default. so here's the tea: when EX is greater than zero and the value doesn't match the expander change count of the SMP target (aka the expander) at the moment the request shows up, the target just ignores your request and sets a function result of "invalid expander change count" in the response. πŸ’€ rude but fair.
  • -F, --fpass=FP β€” FP is the name of a file that holds the password. the password can be in ASCII, in which case it's on one line surrounded by either single quotes or double quotes. OR it can be given in ASCII hexadecimal β€” either as bytes separated by space, tab, comma or newline, or as longer strings of hexadecimal bytes where every 2 digits represents a byte. empty lines and lines starting with "#" are ignored, so you can annotate away, queen. πŸ“
  • -h, --help β€” outputs the usage message then exits. short and sweet, we love a quick exit. 🫢
  • -H, --hex β€” outputs the response (less the CRC field) in hexadecimal. pretty colours for your eyeballs. 🌈
  • -i, --inactivity=TL β€” sets the zone lock inactivity time limit to TL, which has units of 100 milliseconds. default value is 0, which implies no time limit. live your life, no rush. ⭐
  • -I, --interface=PARAMS β€” interface specific parameters. and just so we're clear, "interface" here means the path through the operating system to the SMP initiator. go check the smp_utils man page for more info, iykyk. πŸ”₯
  • -P, --password=PA β€” PA is the zone manager password, which can be up to 32 bytes long. 🚨 this option cannot be given together with the --fpass=FP option β€” pick a lane bestie, not both. the default password is 32 NULLs (zero bytes), and PA gets padded with NULLs to the right so it's 32 bytes long in the request. πŸŽ€
  • -r, --raw β€” sends the response (less the CRC field) to stdout in binary. all error messages go to stderr. clean separation, we stan. πŸ’–
  • -s, --sa=SAS_ADDR β€” specifies the SAS address of the SMP target device. the mpt interface needs this option and it'll typically be an expander's SAS address. heads up: 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. two ways, both iconic. ✨
  • -v, --verbose β€” increases the verbosity of the output. can be used multiple times. stack 'em like bracelets. πŸ’…
  • -V, --version β€” prints the version string and then exits. bye babes! πŸ‘‹

πŸ¦‹ CONFORMING TO πŸ¦‹

The SMP ZONE LOCK function was introduced in SAS-2 . (yes with the lil space, that's how she wrote it, we don't edit the queen's handwriting πŸ’œ)


🌟 AUTHORS 🌟

Written by Douglas Gilbert. king behaviour, honestly. πŸ‘‘


πŸ™ˆ REPORTING BUGS πŸ™ˆ

Report bugs to <dgilbert at interlog dot com>. be nice about it, they're fixing things for free. 🫢


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. so like, don't come for her if something goes sideways, fr fr. 😭


🌈 SEE ALSO 🌈

  • smp_utils
  • smp_zone_activate
  • smp_zone_unlock
  • smp_ena_dis_zoning(smp_utils)

πŸ’Œ okay that's the whole page bestie, go lock some zones responsibly. remember: every flag, every default, every byte β€” we kept it all, no cap.

this was SMP_ZONE_LOCK(8) from smp_utils-0.96, dated June 2011 β€” vintage but still serving πŸ’–βœ¨πŸŽ€ mwah! 🫢