VOS_ENDTRANS(1)

πŸ’– VOS_ENDTRANS(1) πŸ’–

okay so bestie, welcome to the AFS Command Reference β€” this is vos_endtrans, and it's the "undo the oops" button for a stuck transaction. buckle up, it's short but it's iconic.


✨ NAME ✨

vos_endtrans β€” ends a volserver transaction. that's it, that's the whole job. πŸŽ€


🌸 SYNOPSIS 🌸

vos endtrans -server <machine name>
    -transaction <transaction iD>
    [-cell <cell name>]
    [-noauth] [-localauth]
    [-verbose] [-encrypt] [-noresolve]
    [-config <config directory>]
    [-help]

vos st -s <machine name>
    -t <transaction iD>
    [-c <cell name>]
    [-noa] [-l] [-v] [-e] [-nor]
    [-co <config directory>]
    [-h]

yes she has two whole outfits, both are valid. πŸ‘‘


πŸ¦‹ DESCRIPTION πŸ¦‹

so vos endtrans ends one specific transaction on the Volume Server, for one specific volume. periodt.

ngl under normal operation you should never need to use this command. but lowkey it slays as a rescue move β€” it can cut down how long a volume sits offline after somebody fat-fingers a command or a vos process straight-up crashes. 😭

here's the tea: lots of vos commands create what's called a transaction when they touch a volume, because they need to do a whole bunch of different operations on it. if the vos process exits uncleanly, those transactions may still stay open on the manipulated volumes, and the Volume Server will deny any further operations on those volumes while the transactions are still open. messy. so vos endtrans lets you end those transactions and make the volumes usable again β€” without needing to restart the volserver. main character energy honestly. πŸ’…

and if you wanna know what transactions are running on a Volume Server and what their transaction IDs are, go peek at the vos status command. 🧚


πŸ’€ CAUTIONS πŸ’€

okay bestie, listen. this command is not used during normal OpenAFS administration. if used improperly, this can negatively impact currently-running vos operations. only run this on a transaction if you are certain that the program that created the transaction is no longer running. no guessing, fr fr. πŸ™ˆ

✨ OPTIONS ✨

  • -server <server name> β€” tells you which file server machine is running the Volume Server where we're gonna end the transaction. you can hand over the machine's IP address or its host name β€” fully qualified, or an unambiguous abbreviation, your call. for details, see vos(1).
  • -transaction <transaction ID> β€” which transaction are we ending on the Volume Server? this one. you can get a listing of active transactions and their IDs from the output of vos status. πŸ’œ
  • -cell <cell name> β€” names the cell in which to run the command. do not combine this argument with the -localauth flag. for more details, see vos(1).
  • -noauth β€” assigns the unprivileged identity "anonymous" to the issuer. do not combine this flag with the -localauth flag. for more details, see vos(1).
  • -localauth β€” constructs a server ticket using a key from the local /etc/openafs/server/KeyFile file. the vos command interpreter presents it to the Volume Server and Volume Location Server during mutual authentication. do not combine this flag with the -cell argument or the -noauth flag. for more details, see vos(1).
  • -verbose β€” produces on the standard output stream a detailed trace of the command's execution. if this argument is omitted, only warnings and error messages appear. nosy mode: activated. πŸ”₯
  • -encrypt β€” encrypts the command so that the operation's results are not transmitted across the network in clear text. this option is available in OpenAFS versions 1.4.11 or later and 1.5.60 or later. πŸ”’
  • -noresolve β€” shows all servers as IP addresses instead of the DNS name. this is very useful when the server address is registered as 127.0.0.1 or when dealing with multi-homed servers. this option is available in OpenAFS versions 1.4.8 or later and 1.5.35 or later. 🫢
  • -config <configuration directory> β€” set the location of the configuration directory to be used. this defaults to /etc/openafs, except if -localauth is specified, in which case the default is /etc/openafs/server. this option allows the use of alternative configuration locations for testing purposes. πŸ§ͺ
  • -help β€” prints the online help for this command. all other valid options are ignored. classic. πŸ’…

🌈 EXAMPLES 🌈

okay so here's the kind of output that shows up when a volume operation was about to be attempted on the Volume Server on "fs1.example.com", but the process performing the operation never actually did anything with the volume. the audacity. 😭

% vos status fs1.example.com
--------------------------------------------
transaction: 575  created: Fri Oct 16 16:55:54 2009
attachFlags: offline
volume: 536871080 partition: /vicepb procedure: TransCreate
--------------------------------------------
% vos endtrans fs1.example.com 575
% vos status fs1.example.com
No active transactions on fs1.example.com

look at that second vos status. No active transactions. we ate and left no crumbs. ✨


πŸ‘‘ PRIVILEGE REQUIRED πŸ‘‘

the issuer must be listed in the /etc/openafs/server/UserList file on the machine specified with the -server argument. and if the -localauth flag is included, the issuer must instead be logged on to a server machine as the local superuser "root". so like, know your lane and get the receipts. πŸŽ€


πŸ”— SEE ALSO πŸ”—


Copyright 2009 Sine Nomine Associates

This documentation is covered by the BSD License as written in the doc/LICENSE file. This man page was written by Andrew Deason for OpenAFS.


and that's a wrap bestie πŸ’– this was OpenAFS, dated 2026-07-27, no cap. go forth and end your transactions responsibly. slay πŸ’…βœ¨

πŸ“¦ where this page comes from