SALVAGER(8)
π salvager(8) β AFS Command Reference π
π NAME π
salvager β initializes the Salvager component of the fs process. Periodt. π
β¨ SYNOPSIS β¨
salvager
[initcmd] [-partition <name of partition to salvage>]
[-volumeid <volume id to salvage>] [-debug] [-nowrite]
[-inodes] [-force] [-oktozap] [-rootinodes]
[-salvagedirs] [-blockreads]
[-parallel <# of max parallel partition salvaging>]
[-tmpdir <name of dir to place tmp files>]
[-showlog] [-showsuid] [-showmounts]
[-orphans (ignore | remove | attach)] [-help]
πΈ DESCRIPTION πΈ
Bestie, okay so: the salvager command initializes the Salvager component of the fs process. In the conventional configuration, its binary file is located in the /usr/lib/openafs directory on a file server machine. That's the whole vibe. π¦
The Salvager restores internal consistency to corrupted read/write volumes on the local file server machine where possible. For read-only or backup volumes, it inspects only the volume header. And here's the tea, boo:
- If the volume header is corrupted, the Salvager removes the volume completely and records the removal in its log file,
/var/log/openafs/SalvageLog. Issue thevos releaseorvos backupcommand to create the read-only or backup volume again. Slay, but also π. - If the volume header is intact, the Salvager skips the volume (does not check for corruption in the contents). However, if the File Server notices corruption as it initializes, it sometimes refuses to attach the volume or bring it online. In this case, it's simplest to remove the volume by issuing the
vos removeorvos zapcommand. Then issue thevos releaseorvos backupcommand to create it again. Easy peasy. π
Unlike other server process initialization commands, the Salvager command is designed to be issued at the command shell prompt, as well as being placed into a file server machine's /etc/openafs/BosConfig file with the bos create command. It's also possible to invoke the Salvager remotely by issuing the bos salvage command. So many ways to serve. β¨
Combine the command's options as indicated to salvage different numbers of read/write volumes. Like, pick your fighter:
- To salvage all volumes on the file server machine, provide no arguments. No volumes on the machine are accessible to Cache Managers during the salvage, because the BOS Server stops the File Server and Volume Server processes while the Salvager runs. It's giving full shutdown energy. π
- To salvage all of the volumes on one partition, provide the
-partitionargument. As for a salvage of all volumes on the machine, no volumes on the machine are accessible to Cache Managers during the salvage operation. Same chaotic energy, one partition edition. - To salvage only one volume, combine the
-partitionand-volumeidarguments. Only that volume is inaccessible to Cache Managers, because the BOS Server does not shutdown the File Server and Volume Server processes. Lowkey iconic, ngl. π«Ά
The Salvager normally salvages only those read/write volumes that are marked as having been active when a crash occurred. To have it salvage all relevant read/write volumes, add the -force flag. Go off, king. π
The Salvager normally creates new inodes as it repairs damage. If the partition is so full that there is no room for new inodes, use the -nowrite argument to bringing undamaged volumes online without attempting to salvage damaged volumes. Then use the vos move command to move one or more of the undamaged volumes to other partitions, freeing up the space that the Salvager needs to create new inodes. It's giving strategic. π§
By default, multiple Salvager subprocesses run in parallel: one for each partition up to four, and four subprocesses for four or more partitions. To increase or decrease the number of subprocesses running in parallel, provide a positive integer value for the -parallel argument. Multitasking queen fr fr. π
If there is more than one server partition on a physical disk, the Salvager by default salvages them serially to avoid the inefficiency of constantly moving the disk head from one partition to another. However, this strategy is often not ideal if the partitions are configured as logical volumes that span multiple disks. To force the Salvager to salvage logical volumes in parallel as if they were on separate disks, provide the string "all" as the value for the -parallel argument. Spicy. π₯
To set both parameters at the same time, append the number of Salvager processes to the string "all". For example, "-parallel all5" treats each partition as a separate disk and runs five Salvager processes, thus salvaging five partitions at a time. Math ate. π
The Salvager creates temporary files as it runs, by default writing them to the partition it is salvaging. The number of files can be quite large, and if the partition is too full to accommodate them, the Salvager terminates without completing the salvage operation (it always removes the temporary files before exiting). Other Salvager subprocesses running at the same time continue until they finish salvaging all other partitions where there is enough disk space for temporary files. To complete the interrupted salvage, reissue the command against the appropriate partitions, adding the -tmpdir argument to redirect the temporary files to a local disk directory that has enough space. No cap, this part is important. π
The -orphans argument controls how the Salvager handles orphaned files and directories that it finds on server partitions it is salvaging. An orphaned element is completely inaccessible because it is not referenced by the vnode of any directory that can act as its parent (is higher in the filespace). Orphaned objects occupy space on the server partition, but do not count against the volume's quota. They're just vibing there, unclaimed. π
To generate a list of all mount points that reside in one or more volumes, rather than actually salvaging them, include the -showmounts flag. For when you just want the receipts. πβ¨
This command does not use the syntax conventions of the AFS command suites. Provide the command name and all option names in full. No abbreviations, bestie. We don't do that here. π
β¨ OPTIONS β¨
[initcmd]β this is just here bc the AFS command parser expects it, and it's optional anyway π-partition<name of partition to salvage> β tells the Salvager which partition you want it to work on. Write the whole partition name in the form/vicepxor/vicepxx. If you just... don't give this one, bestie, it'll go salvage every single partition on the file server machine π-volumeid<volume id to salvage> β names one specific read/write volume by its ID that you want salvaged. Heads up tho: you have to give-partitionalong with it, and it needs to point at the volume's actual site π-debugβ only lets one Salvager subprocess run at a time, no matter what-parallelis set to. Use it when you're running the Salvager inside a debugger so the trace is actually readable πβ¨-nowriteβ brings every undamaged volume back online and just... doesn't even try to salvage any damaged ones. No thoughts, no repairs π«Ά-inodesβ writes a list of every AFS inode the Salvager modified into/var/log/openafs/SalvageLogπ-forceβ makes it inspect all volumes for corruption, not just the ones marked as having been active when a crash happened. It's giving thorough π-oktozapβ this one removes a volume that's so cooked that even runningvos zapwith the-forceflag does nothing. Pair it with-partitionand-volumeidso it knows exactly which volume to yeet.
β οΈ bestie listen: using this flag will destroy data that cannot be read. Use it only with caution, and only when you're 100% certain nothing in that volume is still needed. No cap. π
-rootinodesβ writes a list of all AFS inodes owned by the local superuser"root"into/var/log/openafs/SalvageLogπ-salvagedirsβ salvages whole directory structures even when they don't look damaged. By default, the Salvager only salvages a directory if it's flagged as corrupted.-blockreadsβ forces the Salvager to read the partition one disk block (512 bytes) at a time and skip any blocks that are too badly damaged to salvage. That way it can save as many volumes as possible. Normally the Salvager reads big disk blocks, which can make it bail out early if it hits disk errors. So use this flag when the partition you're salvaging has disk errors on it πβ‘οΈπ-parallel<# of max parallel partition salvaging> β sets the max number of Salvager subprocesses running in parallel. Give it one of these three values:- An integer from the range 1 to 32. A value of
1means one single Salvager process salvages the partitions one after another (sequentially). - The string
"all"to run up to four Salvager subprocesses in parallel on partitions formatted as logical volumes that span multiple physical disks. Only use this value with those kinds of logical volumes β - The string
"all"followed immediately (no space in between, bestie) by an integer from the range 1 to 32, to run that many Salvager subprocesses in parallel on partitions formatted as logical volumes. Again β only use this with those kinds of logical volumes.
- An integer from the range 1 to 32. A value of
Also know this: the BOS Server never starts more Salvager subprocesses than there are partitions, and it always starts only one process to salvage a single volume. If you omit this argument, up to four Salvager subprocesses run in parallel, but partitions on the same device get salvaged serially.
-tmpdir<name of dir to place tmp files> β names a local disk directory where the Salvager drops the temporary files it makes during a salvage operation, instead of writing them onto the partition being salvaged (which is the default). If the Salvager can't write to the directory you gave it, it tries to write to the partition being salvaged instead π«-showlogβ prints all the log data that's being written to/var/log/openafs/SalvageLogonto the standard output stream, live π-showsuidβ shows you a list of the pathnames of every file that has the setuid or setgid mode bit set π-showmountsβ writes every mount point found in each volume into/var/log/openafs/SalvageLog. Just so you know: when you use this, the Salvager does not repair corruption in the volumes, if any exists. It's just looking, not fixing π-orphans(ignore | remove | attach)β controls what the Salvager does with orphaned files and directories. Pick one of these three values:ignoreβ leaves the orphaned objects sitting on the disk, but prints a message to/var/log/openafs/SalvageLogtelling you how many orphans it found and roughly how many kilobytes they're eating up. This is the default if you just don't pass-orphansat all πremoveβ removes the orphaned objects, and prints a message to/var/log/openafs/SalvageLogreporting how many orphans got removed and roughly how many kilobytes they were consuming.attachβ attaches the orphaned objects by creating a reference to them in the vnode of the volume's root directory. Since each object's actual name is lost forever at this point, the Salvager gives each one a name like this:
"__ORPHANFILE__.index" for files.
"__ORPHANDIR__.index" for directories.
where index is a two-digit number that uniquely identifies each object. The orphans get charged against the volume's quota, and they show up in the output of the ls command when you run it against the volume's root directory π
-helpβ prints the online help for this command. Every other valid option just gets ignored, periodt β¨
πΈ EXAMPLES πΈ
This command here tells the Salvager to try to salvage the volume with volume ID 258347486 on /vicepg on the local machine π
% /usr/lib/openafs/salvager -partition /vicepg -volumeid 258347486
π PRIVILEGE REQUIRED π
To run this command at the shell prompt, you have to be logged in as the local superuser "root". Sorry bestie, main character energy only π₯
π¦ SEE ALSO π¦
BosConfig(5), SalvageLog(5), bos_create(8), bos_getlog(8), bos_salvage(8), vos_move(1)
π COPYRIGHT π
IBM Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
This documentation is covered by the IBM Public License Version 1.0. It was converted from HTML to POD by software written by Chas Williams and Russ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. Slay, honestly π«Ά
That's the whole page, bestie β this one's from OpenAFS and the manpage itself is dated 2026-07-27, SALVAGER(8). Go forth and salvage responsibly πβ¨
π¦ where this page comes from
- ubuntu stonking: openafs-fileserver 1.8.16.1-1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms