OPENSEACHEST_RESERVATIONS(1)
π OPENSEACHEST_RESERVATIONS π
okay bestie, so openSeaChest_Reservations(1) is a User Command and it's the whole manual page for openSeaChest_Reservations β yes, the utility and the manpage share a name, that's just how it is. Sit down, grab a snack, it's giving β¨drive reservation loreβ¨.
β¨ NAME β¨
openSeaChest_Reservations β manual page for openSeaChest_Reservations π¦
π DESCRIPTION π
Subject line, because you deserve the receipts first:
openSeaChest_Reservations - openSeaChest drive utilities - NVMe
Enabled Copyright (c) 2014-2026 Seagate Technology LLC and/or its
Affiliates, All Rights Reserved openSeaChest_Reservations
Version: 26.03.2 X86_64 Build Date: May 18 2026 Today:
20260605T144117 User: current user
So like β openSeaChest drive utilities, NVMe enabled, Copyright (c) 2014-2026 Seagate Technology LLC and/or its Affiliates, All Rights Reserved. Version 26.03.2, built for X86_64, Build Date: May 18 2026, Today: 20260605T144117, User: current user. Not me reading my own version number like it's a horoscope. π
π«Ά Usage
openSeaChest_Reservations [-d <sg_device>] {arguments} {options}
β οΈ NOTE, and it matters: this utility only supports persistent reservations. SCSI 2 reservations are not supported. Periodt. If you came here for SCSI 2 reservations, this is not the house. π
π Examples
Straight up the glow-up starter pack:
openSeaChest_Reservations --scan
openSeaChest_Reservations -d /dev/sg<#> -i
openSeaChest_Reservations -d /dev/sg<#> --SATInfo
openSeaChest_Reservations -d /dev/sg<#> --llInfo
openSeaChest_Reservations -d /dev/sg<#> --showPReservationCapabilties
openSeaChest_Reservations -d /dev/sg<#> --showFullPReservationInfo
openSeaChest_Reservations -d /dev/sg<#> --showPRegistrationKeys
openSeaChest_Reservations -d /dev/sg<#> --showPReservations
(and yes, --showPReservationCapabilties is spelled exactly like that, I don't make the rules, I just report them π)
π Return codes
When it's over, it's over β here's the tea on exit codes:
Generic/Common exit codes
0= No Error Found β1= Error in command line options2= Invalid Device Handle or Missing Device Handle3= Operation Failure4= Operation not supported5= Operation Aborted6= File Path Not Found7= Cannot Open File8= File Already Exists9= Need Elevated Privileges10= Not enough resources11= Error Writing File12= Device not found when opening handle.13= Device not opened. Handle is busy.14= Insecure Directory to read or write file- Anything else = unknown error
π Utility Options
β¨ The Obsolete Trio β¨
--csmiIgnorePort(Obsolete) β this option is obsolete and will be removed in future versions.--csmiUsePort(Obsolete) β this option is obsolete and will be removed in future versions.--csmiVerbose(Obsolete) β this option is obsolete and will be removed in future versions.
(lowkey all three said the exact same thing. iconic consistency. do not use them, fr fr. π« )
π The Rest Of The Utility Options
--echoCommandLineβ Echo the command line entered into the utility on the screen.--enableLegacyUSBPassthroughβ okay so, ONLY use this option on old USB or IEEE1394 (Firewire) products that do not otherwise work with the tool. This option will enable a trial and error method that attempts sending various ATA Identify commands through vendor specific means. Because of this, certain products that may respond in unintended ways since they may interpret these commands differently than the bridge chip the command was designed for. π (yes, that's a real warning, not me being dramatic for once)--forceATAβ Using this option will force the current drive to be treated as a ATA drive. Only ATA commands will be used to talk to the drive.--forceATADMA(SATA Only) β Using this option will force the tool to issue SAT commands to ATA device using the protocol set to DMA whenever possible (on DMA commands). This option can be combined with--forceATA--forceATAPIO(SATA Only) β Using this option will force the tool to issue PIO commands to ATA device when possible. This option can be combined with--forceATA--forceATAUDMA(SATA Only) β Using this option will force the tool to issue SAT commands to ATA device using the protocol set to UDMA whenever possible (on DMA commands). This option can be combined with--forceATA--forceSCSIβ Using this option will force the current drive to be treated as a SCSI drive. Only SCSI commands will be used to talk to the drive.-h,--helpβ Show utility options and example usage (this output you see now). Please report bugs/suggestions toseaboard@seagate.com. Include the output of--versioninformation in the email. (so like, if you're gonna email them, include the receipts bestie π)--licenseβ Display the Seagate End User License Agreement (EULA).--modelMatch[model Number] β Use this option to run on all drives matching the provided model number. This option will provide a closest match although an exact match is preferred. Ex:ST500will matchST500LM0001--noBannerβ Use this option to suppress the text banner that displays each time openSeaChest is run.--onlyFW[firmware revision] β Use this option to run on all drives matching the provided firmware revision. This option will only do an exact match.--onlySeagateβ Use this option to match only Seagate drives for the options provided-q,--quietβ RunopenSeaChest_Reservationsin quiet mode. This is the same as-v 0or--verbose 0-v [0-4],--verbose [0 | 1 | 2 | 3 | 4]β Show verbose information. Verbosity levels are:0- quiet,1- default,2- command descriptions,3- command descriptions and values,4- command descriptions, values, and data buffers. Example:-v 3or--verbose 3-V,--versionβ ShowopenSeaChest_Reservationsversion and copyright information & exit
πΈ Utility Arguments πΈ
-d,--device[deviceHandle |all] β Use this option with most commands to specify the device handle on which to perform an operation. Example:/dev/sg<#>. CSMI device handles can be specified as<error<#><#><#>>. To run across all devices detected in the system, use the"all"argument instead of a device handle. Example:-d all. NOTE: The"all"argument is handled by running the specified options on each drive detected in the OS sequentially. For parallel operations, please use a script opening a separate instance for each device handle.-F,--scanFlags[option list] β Use this option to control the output from scan with the options listed below. Multiple options can be combined.ata- show only ATA (SATA) devicesusb- show only USB devicesscsi- show only SCSI (SAS) devicesnvme- show only NVMe devicesinterfaceATA- show devices on an ATA interfaceinterfaceUSB- show devices on a USB interfaceinterfaceSCSI- show devices on a SCSI or SAS interfaceinterfaceNVME= show devices on an NVMe interfacesd- show sd device handlessgtosd- show the sd and sg device handle mappingignoreCSMI- do not scan for any CSMI devicesallowDuplicates- allow drives with both CSMI and PD handles to show up multiple times in the list
-i,--deviceInfoβ Show information and features for the storage device--llInfoβ Dump low-level information about the device to assist with debugging. π-s,--scanβ Scan the system and list all storage devices with logical/dev/sg<#>assignments. Shows model, serial and firmware numbers. If your device is not listed on a scan immediately after booting, then wait 10 seconds and run it again. (patience is a virtue, bestie β³)-S,--Scanβ This option is the same as--scanor-s, however it will also perform a low level rescan to pick up other devices. This low level rescan may wake devices from low power states and may cause the OS to re-enumerate them. Use this option when a device is plugged in and not discovered in a normal scan. NOTE: A low-level rescan may not be available on all interfaces or all OSs. The low-level rescan is not guaranteed to find additional devices in the system when the device is unable to come to a ready state.--SATInfoβ Displays SATA device information on any interface using both SCSI Inquiry / VPD / Log reported data (translated according to SAT) and the ATA Identify / Log reported data.--testUnitReadyβ Issues a SCSI Test Unit Ready command and displays the status. If the drive is not ready, the sense key, asc, ascq, and fru will be displayed and a human readable translation from the SPC spec will be displayed if one is available.--fastDiscoveryβ Use this option to issue a fast scan on the specified drive. πββοΈπ¨
π¦ The Persistent Reservation Girlies π¦
--prAllTargetPorts(NVMe & SAS only) β Use this option when registering a new key to specify that it applies to all target ports. NOTE: Not all devices will support this option--prClear(NVMe & SAS only) β Use this option to clear all reservations using a key that is specified by the--prKeyoption. The specified key must already be registered with the device.--prKey[key] (NVMe & SAS Only) β Use this option to specify the key to use for persistent reservation options. When registering a key, this provides the value expected for your use. It should continue to be used through all persistent reseve operations until unregistered or cleared. (yes the original says "reseve", no I will not be fixing it, the facts stay facts π )--prPersistThroughPowerLoss(NVMe & SAS only) β Use this option when registering a new key to activate the persist through power loss capability. NOTE: Not all devices will support this option--prPreempt[reservation key to preempt] (NVMe & SAS only) β Use this option to preempt another reservation using a registration key that is specified by the--prKeyoption.
The specified key must already be registered with the device. This is used to remove a reservation from another initiator and start a new one using the specified registration key. --prType must also be provided to specify the type of reservation that should be active once the preempt has completed. Use with the --prPreemptAbort option to cause the preempt to abort all outstanding commands to the previous reservation holder. (the drama of it all π€)
--prPreemptAbort(NVMe & SAS only) β Use this option to cause a preempt to abort commands to the previous reservation holder. This must be used in combination with the--prPreemptoption in order to specify the key to preempt.--prRegister(NVMe & SAS only) β Use this option to register a new key as specified by the--prKeyoption. Combine this with the following options as needed:--prAllTargetPorts--prPersistThroughPowerLoss--prRegisterIgnore
β¨ and that's only part of the story β there's more of this page coming, so don't go anywhere π
--prRegisterIgnoreβ (NVMe & SAS only, bestie) π
Okay so when you're registering a new key, this one tells the device to justβ¦ ignore any previous registration key that was already registered from the same initiator. Like, new key era, who dis? π
NOTE: not all devices will support this option. Some of them are simply not on that level, and that's fine. π
--prReleaseβ (NVMe & SAS only) β¨
This one releases a reservation, using the key you handed over with the --prKey option. Heads up though: that key has to already be registered with the device and it has to have an active reservation that can actually be released β no ghost reservations, the vibes must be real. Use --prType to specify the reservation type you're releasing. π
--prReserveβ (NVMe & SAS only) π₯
Use this to acquire a reservation, again with the key from --prKey. The key must already be registered with the device β you can't just show up unregistered and expect to claim the spotlight, that's not how this works, queen. π
Use --prType to specify the reservation type you want to acquire.
--prType [wrex | ex | wrexro | exro | wrexar | exar]β (NVMe and SAS only) πΈ
This is the one that says what kind of reservation you're holding. It's required for acquiring, preempting, and releasing reservations β no flopping out here without it. π«Ά
The available reservation types are literally these, and here's what each one is giving:
wrexβ write exclusiveexβ exclusive accesswrexroβ write exclusive, registrants onlyexroβ exclusive access, registrants onlywrexarβ write exclusive, all registrantsexarβ exclusive access, all registrants
--prUnregisterβ (NVMe & SAS only) π¦
Use this option to unregister a key that is specified by the --prKey option. Closing the tab, logging out, throwing the key away. Bye bestie, it was iconic. π
--showFullPReservationInfoβ (NVMe & SAS Only) β
This option reads the persistent reservation full information β that means both the registrations and the reservations β and prints it all to the screen. The whole lore, in one read. π
--showPRegistrationKeysβ (NVMe & SAS Only) π
This option reads the persistent reservation registration keys and prints them to the screen.
--showPReservationsβ (NVMe & SAS Only) π
This option reads the persistent reservation reservations and prints them to the screen.
--showPReservationCapabiltiesβ (NVMe & SAS Only) π
This option shows the persistent reservation capabilities for a device. Knowledge is power, and this is the vibe check for what your drive can even do. β¨
NOTE: older devices supporting SPC or SPC2 may not support showing capabilities β but they do support persistent reservations. So if it comes up empty, it's not a glow-down, it's just an older icon refusing to overshare. π«Ά
π¦ Version Info for openSeaChest_Reservations π¦
Okay so here's the receipt, the full ID, no edits:
openSeaChest_Reservations - openSeaChest drive utilities - NVMe
Enabled Copyright (c) 2014-2026 Seagate Technology LLC and/or its
Affiliates, All Rights Reserved openSeaChest_Reservations
Version: 26.03.2 X86_64 Build Date: May 18 2026 Today:
20260605T144117 User: current user
==========================================================================================
Version Info for openSeaChest_Reservations:
Utility Version: 26.03.2 opensea-common Version: 6.1.0
opensea-transport Version: 10.3.0 opensea-operations Version:
9.4.0 Build Date: May 18 2026 Compiled Architecture: X86_64
Detected Endianness: Little Endian Compiler Used: GCC Compiler
Version: 14.2.0 Operating System Type: Linux Operating System
Version: 6.6.114-1 Operating System Name: Ubuntu 24.04.4 LTS
Look at that stack of versions. Utility 26.03.2, opensea-common 6.1.0, opensea-transport 10.3.0, opensea-operations 9.4.0, built May 18 2026, compiled for X86_64, little endian detected, GCC 14.2.0 did the work, running on Linux 6.6.114-1 aka Ubuntu 24.04.4 LTS. Slay. π
π SEE ALSO π
The full documentation for openSeaChest_Reservations is maintained as a Texinfo manual. If the info and openSeaChest_Reservations programs are properly installed at your site, the command
info openSeaChest_Reservations
should give you access to the complete manual. Go read it, bestie, it's the extended universe. π
And that's a wrap on OPENSEACHEST_RESERVATIONS(1) π β brought to you by openSeaChest_Reservations, version 26.03.2, dated June 2026. Authored and shipped by Seagate Technology LLC and/or its Affiliates, Β© 2014-2026, All Rights Reserved. No cap, that's the whole page. Bye bestie, go reserve something. πβ¨
π¦ where this page comes from
- nixpkgs unstable: openseachest 26.03.2
- ubuntu stonking: openseachest 26.03.2+ds-1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms