snapraid/manual-log.html
Andrea Mazzoleni f4679d3f6e Auto update
2026-03-30 10:01:17 +02:00

4125 lines
118 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="A backup program for disk arrays. It stores parity information of your data and it recovers from up to six disk failures">
<meta name="keywords" content="snapraid snapshot raid backup disk array redundancy parity">
<title>SnapRAID Log Manual</title>
<link rel="stylesheet" href="style.css">
<link rel="apple-touch-icon" sizes="180x180" href="/beta/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/beta/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/beta/favicon-16x16.png">
<link rel="manifest" href="/beta/site.webmanifest">
<script src="script.js"></script>
<!-- Google Analytics 4 -->
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-W1Z5FKHYQ4"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-W1Z5FKHYQ4');
</script>
<!-- Google Universal Analytics -->
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-21967501-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body>
<header>
<div class="container nav-container">
<a href="index" class="logo">
<img src="android-chrome-192x192.png" width="32" height="32"/>
SnapRAID
</a>
<nav>
<input type="checkbox" id="menu-toggle">
<label for="menu-toggle" class="menu-icon"><svg viewBox="0 0 24 24" width="24" height="24" fill="currentColor"><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg></label>
<ul>
<li><a href="index" >Home</a></li>
<li><a href="ui" >UI & Daemon</a></li>
<li><a href="howitworks" >How it Works</a></li>
<li><a href="design" >Design</a></li>
<li><a href="compare" >Compare</a></li>
<li><a href="manual" class="active">Manual</a></li>
<li><a href="faq" >FAQ</a></li>
<li><a href="support" >Support</a></li>
<li><a href="download" class="nav-cta">Download</a></li>
<li>
<button class="theme-toggle" aria-label="Toggle theme">
<svg class="sun-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="5"></circle><line x1="12" y1="1" x2="12" y2="3"></line><line x1="12" y1="21" x2="12" y2="23"></line><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line><line x1="1" y1="12" x2="3" y2="12"></line><line x1="21" y1="12" x2="23" y2="12"></line><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line></svg>
<svg class="moon-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path></svg>
</button>
</li>
</ul>
</nav>
</div>
</header>
<div class="container manual-layout">
<aside class="manual-sidebar">
<h4>Components</h4>
<select id="manual-selector" style="width: 100%; padding: 5px; background: var(--bg-surface); color: var(--text-primary); border: 1px solid var(--border-color); border-radius: 4px; margin-bottom: 2rem;">
<option value="manual">Command Line</option>
<option value="manual-daemon">Daemon</option>
<option value="manual-log">Log</option>
</select>
<h4>Contents</h4>
<ul id="manual-toc-list">
<!-- Populated by JavaScript -->
</ul>
</aside>
<main id="manual-container">
<div class="manual-doc">
<div class="manual-section-level-1">
<h1 id="sec1" class="manual-title-level-1">
Description
</h1>
<p>This document describes the structured log tags output by SnapRAID,
which are designed to be used by tools monitoring the SnapRAID
processing state. The tags provide information in an easy-to-parse
format, ideal for automation and integration.
</p><p>To capture these structured log tags, you must use the <b>--log</b> option
with SnapRAID.
</p><p>You can direct the output to a specific file, or force the output to
the standard output or standard error using the special arguments
<b>&gt;&amp;1</b> or <b>&gt;&amp;2</b>. Note that these arguments often need to be quoted on
the command line to prevent the shell from interpreting them.
</p><p>Example:
</p><pre>
snapraid status --log "&gt;&amp;2"
</pre>
<p>The output tags strictly adhere to the following format:
</p><pre>
NAME:VALUE:VALUE:VALUE...&lt;EOL&gt;
</pre>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
NAME
</div><div class="manual-option-description">
This is the primary tag identifier, always a lowercase string
without spaces (e.g., <b>summary</b>, <b>block</b>).
</div>
</div>
<div class="manual-option-entry">
<div class="manual-option-name">
VALUE
</div><div class="manual-option-description">
Following the <b>NAME</b>, these can be additional sub-identifiers,
descriptive names (like a disk name), or numeric/string data
values. They are separated by a colon <b>:</b>.
</div>
</div>
<div class="manual-option-entry">
<div class="manual-option-name">
&lt;EOL&gt;
</div><div class="manual-option-description">
Each tag is terminated by an end-of-line character.
</div>
</div>
</div>
<p>This document provides a summary of the tags generated by SnapRAID.
For the most detailed and up-to-date information regarding the meaning
and context of the values, it is recommended to check the source
code's <b>log_tag()</b> statements.
</p><p>When a path is output, it is always escaped using a backslash (\) as
the escape character.
</p><p>The following characters are escaped into sequences:
</p><div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
The colon
</div><div class="manual-tag-description">
is escaped to \d.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
The newline
</div><div class="manual-tag-description">
is escaped to \n.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
The carriage return
</div><div class="manual-tag-description">
is escaped to \r.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
The backslash
</div><div class="manual-tag-description">
is escaped to \\.
</div>
</div>
</div>
<p>Some tags are output only when the <b>--gui</b> or <b>--gui-verbose</b> option
is used. They provide extra verbose state and runtime progress only
useful for a GUI interface.
</p><p>Integer values are marked as <b>uint</b> when they are unsigned and as <b>int</b>
when they are signed. However, for practical purposes you can treat
all of them as signed integers.
All integer values should be assumed to be 64 bits wide, regardless
of the signed/unsigned marker.
Floating point values are marked as <b>float</b>.
</p></div>
<div class="manual-section-level-1">
<h1 id="sec2" class="manual-title-level-1">
Configuration Tags
</h1>
<p>These tags report the memory usage and global configuration.
</p><div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
conf:file:&lt;path&gt;
</div><div class="manual-option-description">
Configuration file loaded (escaped).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
conf:missing:
</div><div class="manual-option-description">
Operating without a configuration file.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
blocksize:&lt;bytes&gt;
</div><div class="manual-option-description">
The configured block size in bytes (uint).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
data:&lt;disk_name&gt;:&lt;dir&gt;:&lt;uuid&gt;
</div><div class="manual-option-description">
The data disks as defined in the configuration file.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;disk_name&gt;
</div><div class="manual-tag-description">
The assigned name of the disk.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;dir&gt;
</div><div class="manual-tag-description">
The directory entry point of the disk.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;uuid&gt;
</div><div class="manual-tag-description">
The UUID of the filesystem containing the dir.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
mode:&lt;raidname&gt;
</div><div class="manual-option-description">
The RAID mode used. One of <b>par1</b>, <b>par2</b>, <b>par3</b>, <b>par4</b>,
<b>par5</b>, <b>par6</b> or <b>parz</b>. The number indicates the maximum
number of simultaneous disk failures the array can withstand.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
&lt;parity_level&gt;[/&lt;split_index&gt;]:&lt;path&gt;:&lt;uuid&gt;
</div><div class="manual-option-description">
The parity files as defined in the configuration file.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;parity_level&gt;[/&lt;split_index&gt;]
</div><div class="manual-tag-description">
One of <b>parity</b>, <b>2-parity</b>,
..., <b>6-parity</b>. This corresponds to the level of redundancy.
In case of split parity, the parity name is followed
by <b>/N</b> to indicate the split index, where N starts
from 0. The <b>/0</b> is always omitted.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;path&gt;
</div><div class="manual-tag-description">
The path (escaped).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;uuid&gt;
</div><div class="manual-tag-description">
The UUID of the filesystem containing the path.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
fsinfo_data:&lt;disk_name&gt;:&lt;size&gt;:&lt;free&gt;
</div><div class="manual-option-description">
The filesystem information of the specified data disk.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;size&gt;
</div><div class="manual-tag-description">
The size of the data disk (uint).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;free_size&gt;
</div><div class="manual-tag-description">
The free size in the data disk (uint).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
fsinfo_parity:&lt;parity_level&gt;:&lt;size&gt;:&lt;free&gt;
</div><div class="manual-option-description">
The filesystem information of the specified parity disk.
In case of multiple splits this is the sum of the sizes of all
splits.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;size&gt;
</div><div class="manual-tag-description">
The size of the parity disk (uint).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;free_size&gt;
</div><div class="manual-tag-description">
The free size in the parity disk (uint).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
fsinfo_data_split:&lt;disk_name&gt;:&lt;size&gt;:&lt;free&gt;:&lt;type&gt;:&lt;label&gt;
</div><div class="manual-option-description">
The filesystem information of the specified data disk.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;size&gt;
</div><div class="manual-tag-description">
The size of the data disk (uint).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;free_size&gt;
</div><div class="manual-tag-description">
The free size in the data disk (uint).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;type&gt;
</div><div class="manual-tag-description">
The filesystem type. A string like <b>ext4</b>, <b>ntfs</b>.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;label&gt;
</div><div class="manual-tag-description">
The label associated to the filesystem.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
fsinfo_parity_split:&lt;parity_level&gt;[/&lt;split_index&gt;]:&lt;size&gt;:&lt;free&gt;:&lt;type&gt;:&lt;label&gt;
</div><div class="manual-option-description">
The filesystem information of the specified parity split.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;size&gt;
</div><div class="manual-tag-description">
The size of the parity disk (uint).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;free_size&gt;
</div><div class="manual-tag-description">
The free size in the parity disk (uint).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;type&gt;
</div><div class="manual-tag-description">
The filesystem type. A string like <b>ext4</b>, <b>ntfs</b>.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;label&gt;
</div><div class="manual-tag-description">
The label associated to the filesystem.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
pool:&lt;dir&gt;
</div><div class="manual-option-description">
The configured dir to the pool mount point (escaped).
This is the optional mount point for the 'pool' feature.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
share:&lt;dir&gt;
</div><div class="manual-option-description">
The configured dir to the pool mount point (escaped).
This is the optional mount point for the 'share' feature.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
autosave:&lt;bytes&gt;
</div><div class="manual-option-description">
If the autosave feature is enabled, and after how many bytes
(uint). This specifies the interval for content file saving.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
filter:&lt;pattern&gt;
</div><div class="manual-option-description">
All the active filters with their patterns. These patterns
exclude specific files or directories from the SnapRAID array.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
filter:nohidden:
</div><div class="manual-option-description">
If the no-hidden filter is enabled, meaning hidden files/directories
(starting with '.') are excluded from the array.
</div>
</div>
</div>
</div>
<div class="manual-section-level-1">
<h1 id="sec3" class="manual-title-level-1">
Content Tags
</h1>
<p>These tags report the information stored in the content file.
</p><div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
content:&lt;path&gt;
</div><div class="manual-option-description">
The absolute path to a content file being used (escaped).
Content files store the metadata (like file hashes and timestamps)
for the array.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
content_write:&lt;path&gt;
</div><div class="manual-option-description">
The absolute path to a content file being written (escaped).
You will see multiple writes as the content file is saved in
multiple copies.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
content_data:&lt;disk_name&gt;:&lt;size&gt;:&lt;free_size&gt;
</div><div class="manual-option-description">
The size of the data disk as stored in the content file.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;disk_name&gt;
</div><div class="manual-tag-description">
Name of the data disk.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;size&gt;
</div><div class="manual-tag-description">
The size of the data disk (uint).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;free_size&gt;
</div><div class="manual-tag-description">
The free size in the data disk (uint).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
content_parity:&lt;parity_level&gt;:&lt;size&gt;:&lt;free_size&gt;
</div><div class="manual-option-description">
The size of the parity disk as stored in the content file.
In case of multiple splits this is the sum of the sizes of all
splits.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;parity_level&gt;
</div><div class="manual-tag-description">
Name of the parity.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;size&gt;
</div><div class="manual-tag-description">
The total size of the parity disk (uint).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;free_size&gt;
</div><div class="manual-tag-description">
The free size in the parity disk (uint).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
content_data_split:&lt;disk_name&gt;:&lt;uuid&gt;
</div><div class="manual-option-description">
The data disk info as stored in the content file.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;disk_name&gt;
</div><div class="manual-tag-description">
Name of the data disk.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;uuid&gt;
</div><div class="manual-tag-description">
The UUID of the disk filesystem as stored in the
content file.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
content_parity_split:&lt;parity_level&gt;[/&lt;split_index&gt;]:&lt;uuid&gt;:&lt;path&gt;:&lt;size&gt;
</div><div class="manual-option-description">
The parity split info as stored in the content file.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;parity_level&gt;[/&lt;split_index&gt;]
</div><div class="manual-tag-description">
One of <b>parity</b>, <b>2-parity</b>,
..., <b>6-parity</b>. This corresponds to the level of redundancy.
In case of split parity, the parity name is followed
by <b>/N</b> to indicate the split index, where N starts
from 0. The <b>/0</b> is always omitted.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;uuid&gt;
</div><div class="manual-tag-description">
The UUID of the disk containing the path.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;path&gt;
</div><div class="manual-tag-description">
The path of the parity file (escaped).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;size&gt;
</div><div class="manual-tag-description">
The size of the parity file (uint).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
content_info:&lt;kind&gt;:&lt;counter&gt;
</div><div class="manual-option-description">
The counters in the content file. The <b>kind</b> is
one of the following:
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
file
</div><div class="manual-tag-description">
The count of files.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
hardlink
</div><div class="manual-tag-description">
The counter of hardlinks.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
symlink
</div><div class="manual-tag-description">
The counter of symlinks.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
dir_empty
</div><div class="manual-tag-description">
The counter of empty directories.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
block_bad
</div><div class="manual-tag-description">
The counter of bad blocks. Bad blocks indicate data
or parity corruption.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
block_rehash
</div><div class="manual-tag-description">
The counter of blocks needing a rehash, usually
due to hash algorithm change.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
block_unscrubbed
</div><div class="manual-tag-description">
The counter of blocks that are unscrubbed
(just synced), meaning they have never been verified
since their first sync.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
block_unsynced
</div><div class="manual-tag-description">
The counter of blocks that are unsynced (need a sync),
meaning their parity data is out of date.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
block
</div><div class="manual-tag-description">
The total counter of blocks.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
bucket_count:&lt;uint&gt;
</div><div class="manual-option-description">
Total number of info records listed with <b>bucket</b>.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
bucket_block_count:&lt;uint&gt;
</div><div class="manual-option-description">
Total number of info blocks listed with <b>bucket</b>. This is the
sum of all the counters listed.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
bucket:&lt;time&gt;:&lt;count_scrubbed&gt;:&lt;count_new&gt;
</div><div class="manual-option-description">
The info records.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;time&gt;
</div><div class="manual-tag-description">
Unix timestamp of the scrub/sync.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;count_scrubbed&gt;
</div><div class="manual-tag-description">
Number of blocks scrubbed at this timestamp.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;count_new&gt;
</div><div class="manual-tag-description">
Number of blocks that were synced at this
timestamp and haven't been scrubbed yet.
</div>
</div>
</div>
</div>
<div class="manual-section-level-1">
<h1 id="sec4" class="manual-title-level-1">
Diagnostics Tags
</h1>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
version:&lt;version&gt;
</div><div class="manual-option-description">
The version of SnapRAID run.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
unixtime:&lt;time&gt;
</div><div class="manual-option-description">
The current time in the unix format (uint), representing
seconds since the epoch.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
time:&lt;YYYY-MM-DD HH:MM:SS&gt;
</div><div class="manual-option-description">
The current time in human format.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
command:&lt;command&gt;
</div><div class="manual-option-description">
The command run. One of <b>sync</b>, <b>scrub</b>, <b>check</b>, <b>fix</b>, <b>status</b>, ...
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
argv:&lt;number&gt;:&lt;argument&gt;
</div><div class="manual-option-description">
All the arguments of the executable command. The 0 one is the
executable run.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
memory:used:&lt;bytes&gt;
</div><div class="manual-option-description">
The total memory currently used by the application in bytes (uint).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
memory:block:&lt;bytes&gt;
</div><div class="manual-option-description">
Size of the internal <b>snapraid_block</b> structure in bytes (uint).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
memory:extent:&lt;bytes&gt;
</div><div class="manual-option-description">
Size of the internal <b>snapraid_extent</b> structure in bytes (uint).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
memory:file:&lt;bytes&gt;
</div><div class="manual-option-description">
Size of the internal <b>snapraid_file</b> structure in bytes (uint).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
memory:link:&lt;bytes&gt;
</div><div class="manual-option-description">
Size of the internal <b>snapraid_link</b> structure in bytes (uint).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
memory:dir:&lt;bytes&gt;
</div><div class="manual-option-description">
Size of the internal <b>snapraid_dir</b> structure in bytes (uint).
</div>
</div>
</div>
</div>
<div class="manual-section-level-1">
<h1 id="sec5" class="manual-title-level-1">
Scan Tags
</h1>
<p>These tags report detected differences between the filesystem and the
content file. They are output for every discovered change.
</p><div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
scan:equal:&lt;disk_name&gt;:&lt;path&gt;
</div><div class="manual-option-description">
A file, link, or directory is equal (unchanged).
No action is required for this item.
Only produced when <b>--gui-verbose</b> option is used.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;disk_name&gt;
</div><div class="manual-tag-description">
Name of the data disk.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;path&gt;
</div><div class="manual-tag-description">
Path to the file/link relative to the disk mount
(escaped).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
scan:add:&lt;disk_name&gt;:&lt;path&gt;
</div><div class="manual-option-description">
A new file or link was found that is not in the content file.
This item will be added to the array in a <b>sync</b>.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
scan:remove:&lt;disk_name&gt;:&lt;path&gt;
</div><div class="manual-option-description">
A file or link has been removed from the filesystem
since the last sync.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
scan:update:&lt;disk_name&gt;:&lt;path&gt;
</div><div class="manual-option-description">
A file or link has been updated (size, timestamp, or link target changed).
This item will have its content data blocks re-hashed in a <b>sync</b>.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
scan:move:&lt;disk_name&gt;:&lt;old_path&gt;:&lt;new_path&gt;
</div><div class="manual-option-description">
A file was moved to a different directory on the same disk.
This is an efficient operation that only updates the path
metadata without rehashing blocks.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;old_path&gt;
</div><div class="manual-tag-description">
The old path to the file (escaped).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;new_path&gt;
</div><div class="manual-tag-description">
The new path to the file (escaped).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
scan:copy:&lt;disk_name&gt;:&lt;path&gt;:&lt;source_disk&gt;:&lt;source_path&gt;
</div><div class="manual-option-description">
A new file was found to be a copy of a file on the same or
any other disk.
This is detected by matching the file name,
size, and timestamp, and is an efficient operation that avoids
rehashing all blocks.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;source_disk&gt;
</div><div class="manual-tag-description">
The original file's disk.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;source_path&gt;
</div><div class="manual-tag-description">
The original file's location (escaped).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
scan:relocate:&lt;disk_name&gt;:&lt;path&gt;:&lt;source_disk&gt;:&lt;source_path&gt;
</div><div class="manual-option-description">
Like <b>copy</b>, but the original file has disappeared.
The difference between <b>move</b> and <b>relocate</b> on the same
disk is that <b>move</b> is only used if the inode remains
the same.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
scan:restore:&lt;disk_name&gt;:&lt;path&gt;
</div><div class="manual-option-description">
A file's inode has changed but not its directory, name,
timestamp and size, which suggests the file may be restored
from backup.
The file won't be re-hashed in <b>sync</b> as its precomputed hash
is assumed to be correct.
</div>
</div>
</div>
<p>These tags provide a final count of all detected changes.
</p><div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
summary:equal:&lt;count&gt;
</div><div class="manual-option-description">
Total number of files and links whose metadata and data match
the current parity (uint).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
summary:added:&lt;count&gt;
</div><div class="manual-option-description">
Total number of brand new files and links not present in the
last sync (uint).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
summary:removed:&lt;count&gt;
</div><div class="manual-option-description">
Total number of files and links that existed in the last sync
but are now missing (uint).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
summary:updated:&lt;count&gt;
</div><div class="manual-option-description">
Total number of existing files where the timestamp or size has
changed (uint).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
summary:moved:&lt;count&gt;
</div><div class="manual-option-description">
Total number of files relocated to a new path or renamed but
retaining the same inode (uint).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
summary:copied:&lt;count&gt;
</div><div class="manual-option-description">
Total number of new files created by copying an existing
protected file to a new path (uint).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
summary:relocated:&lt;count&gt;
</div><div class="manual-option-description">
Total number of new files created by relocating an existing
protected file to a new path (uint).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
summary:restored:&lt;count&gt;
</div><div class="manual-option-description">
Total number of new files matching a parity entry by
name/time/size but with a new inode (uint).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
summary:exit:&lt;status&gt;
</div><div class="manual-option-description">
Logs the overall exit status of the command. The <b>status</b> is
one of the following:
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
equal
</div><div class="manual-tag-description">
Indicates that no differences were found.
The array is already synchronized.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
diff
</div><div class="manual-tag-description">
Indicates that differences were found.
The array needs a <b>sync</b> operation.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
unsynced
</div><div class="manual-tag-description">
The array has an interrupted sync.
The array needs another <b>sync</b> operation.
</div>
</div>
</div>
</div>
<div class="manual-section-level-1">
<h1 id="sec6" class="manual-title-level-1">
General Progress and Execution Tags
</h1>
<p>These tags are used to report the runtime processing of the commands
<b>sync</b>, <b>scrub</b>, <b>check</b> and <b>fix</b>.
Only produced when <b>--gui</b> option is used.
</p><div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
run:begin:&lt;blockbegin&gt;:&lt;blockend&gt;:&lt;count&gt;
</div><div class="manual-option-description">
A tag indicating the start of the command execution.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;blockbegin&gt;
</div><div class="manual-tag-description">
Starting block index (uint).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;blockend&gt;
</div><div class="manual-tag-description">
Ending block index + 1 (uint).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;count&gt;
</div><div class="manual-tag-description">
Number of blocks to process. It may be less
than &lt;blockend&gt; - &lt;blockbegin&gt; + 1 if some blocks
are going to be skipped (uint).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
run:end
</div><div class="manual-option-description">
A zero-argument tag indicating the end of the command execution.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
run:pos:&lt;blockidx&gt;:&lt;blockdone&gt;:&lt;sizedone&gt;:&lt;perc&gt;:&lt;eta&gt;:&lt;speed_mbs&gt;:&lt;cpu&gt;:&lt;elapsed&gt;:&lt;temp&gt;:&lt;steady_temp&gt;
</div><div class="manual-option-description">
Detailed progress information during command execution.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;blockidx&gt;
</div><div class="manual-tag-description">
Current block index position processed (uint).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;blockdone&gt;
</div><div class="manual-tag-description">
Number of blocks processed (uint).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;sizedone&gt;
</div><div class="manual-tag-description">
Current size processed (uint).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;perc&gt;
</div><div class="manual-tag-description">
Completion percentage (uint).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;eta&gt;
</div><div class="manual-tag-description">
Estimated time to completion in seconds. Empty if not
available (uint).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;speed_mbs&gt;
</div><div class="manual-tag-description">
Data processing speed in MB/s. Empty if not
available (uint).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;cpu&gt;
</div><div class="manual-tag-description">
CPU usage percentage. Empty if not available (uint).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;elapsed&gt;
</div><div class="manual-tag-description">
Elapsed time in seconds (uint).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;temp&gt;
</div><div class="manual-tag-description">
Current max temperature of the disks. Empty if not
available (uint).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;steady_temp&gt;
</div><div class="manual-tag-description">
Expected steady temperature of the disks.
Empty if not available (uint).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
sigint:&lt;blockidx&gt;:&lt;msg&gt;
</div><div class="manual-option-description">
A user interruption (e.g., Ctrl+C) was signaled. The process
is gracefully aborting.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;blockidx&gt;
</div><div class="manual-tag-description">
Current block index position (uint).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;msg&gt;
</div><div class="manual-tag-description">
Text message exactly as it's printed on screen.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
msg:&lt;level&gt;:&lt;msg&gt;
</div><div class="manual-option-description">
Messages printed to the screen.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;level&gt;
</div><div class="manual-tag-description">
One of <b>fatal</b>, <b>fatal_hardware</b>, <b>error</b>, <b>error_hardware</b>,
<b>expected</b>, <b>status</b>, <b>progress</b> or <b>verbose</b>.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
fatal, fatal_hardware
</div><div class="manual-tag-description">
A fatal error occurred. Program will
abort after this message.
The <b>hardware</b> one means that the problem was caused
by a hardware failure, like an Input/Output error
or a silent data error.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
error, error_hardware
</div><div class="manual-tag-description">
A generic error condition that doesn't
prevent the program to continue.
The <b>hardware</b> one means that the problem was caused
by a hardware failure, like an Input/Output error
or a silent data error.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
expected
</div><div class="manual-tag-description">
An expected error condition. At present it
happens only when using the <b>-m</b> option with files
expected missing.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
status
</div><div class="manual-tag-description">
A status message, usually providing context or a summary.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
progress
</div><div class="manual-tag-description">
A progress message, often part of an ongoing operation.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
verbose
</div><div class="manual-tag-description">
A verbose informative message, only shown in verbose mode.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;msg&gt;
</div><div class="manual-tag-description">
Text message exactly as it's printed on screen.
</div>
</div>
</div>
</div>
<div class="manual-section-level-1">
<h1 id="sec7" class="manual-title-level-1">
Thermal Tags
</h1>
<p>The following tags are produced by the thermal monitoring functions
when SnapRAID is processing, typically during operations that involve
disk access.
</p><div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
thermal:ambient:device:&lt;hwmon_dir&gt;:&lt;name&gt;:&lt;temp_file&gt;:&lt;label&gt;:&lt;temp&gt;
</div><div class="manual-option-description">
Logs a temperature reading found in the system using the Linux
/sys/class/hwmon interface. Only present in Linux.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;hwmon_dir&gt;
</div><div class="manual-tag-description">
The hwmon directory name (e.g., hwmon0).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;name&gt;
</div><div class="manual-tag-description">
The name of the hwmon device (e.g., k10temp).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;temp_file&gt;
</div><div class="manual-tag-description">
The temperature file name (e.g., temp1_input).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;label&gt;
</div><div class="manual-tag-description">
The label associated with the temperature sensor (e.g., Tdie).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;temp&gt;
</div><div class="manual-tag-description">
The temperature reading in degrees Celsius.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
thermal:ambient:candidate:&lt;temp&gt;
</div><div class="manual-option-description">
Reports a temperature reading that is a candidate for the
ambient temperature, used in the heating model calculation.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;temp&gt;
</div><div class="manual-tag-description">
The candidate temperature in degrees Celsius.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
thermal:system:candidate:&lt;temp&gt;
</div><div class="manual-option-description">
Logs a temperature reading from a connected disk that is being
considered as a candidate for determining the ambient system
temperature.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;temp&gt;
</div><div class="manual-tag-description">
The current temperature read from the disk
(uint, degrees Celsius).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
thermal:system:final:&lt;temp&gt;
</div><div class="manual-option-description">
Logs the final ambient system temperature calculated. This
value is the lowest valid temperature observed among all
candidates, representing the room temperature.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;temp&gt;
</div><div class="manual-tag-description">
The calculated ambient temperature in degrees Celsius.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
thermal:current:&lt;disk_name&gt;[/&lt;split_index&gt;]:&lt;device&gt;:&lt;temp&gt;
</div><div class="manual-option-description">
Logs the most recent temperature reading for a specific disk
device.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;disk_name&gt;[/&lt;split_index&gt;]
</div><div class="manual-tag-description">
The configured name of the disk.
In case of split parity, the parity name is followed
by <b>/N</b> to indicate the split index, where N starts
from 0. The <b>/0</b> is always omitted.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;device&gt;
</div><div class="manual-tag-description">
The unique device ID (uint).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;temp&gt;
</div><div class="manual-tag-description">
The current temperature read from the disk in degrees
Celsius.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
thermal:highest:&lt;temp&gt;
</div><div class="manual-option-description">
Logs the highest temperature observed among all monitored disks
in the current measurement cycle. This is used for thermal
throttling.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;temp&gt;
</div><div class="manual-tag-description">
The highest temperature observed in degrees Celsius.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
thermal:heat:&lt;disk_name&gt;[/&lt;split_index&gt;]:&lt;device&gt;:&lt;count&gt;:&lt;data_points&gt;
</div><div class="manual-option-description">
Logs the entire history of temperature data points collected
so far for a specific disk, used for fitting the heating model.
Only monotone increasing temperatures are included in the history.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;device&gt;
</div><div class="manual-tag-description">
The unique device ID (uint).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;count&gt;
</div><div class="manual-tag-description">
The total number of collected data points (uint).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;data_points&gt;
</div><div class="manual-tag-description">
A comma-separated list of temperature/time pairs.
Each pair is formatted as &lt;temp&gt;/&lt;time_offset&gt;.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;temp&gt;
</div><div class="manual-tag-description">
Temperature reading in degrees Celsius.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;time_offset&gt;
</div><div class="manual-tag-description">
Time offset from the start of the thermal
monitoring (uint, seconds).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
thermal:params:&lt;disk_name&gt;[/&lt;split_index&gt;]:&lt;device&gt;:&lt;k_heat&gt;:&lt;t_ambient&gt;:&lt;t_steady&gt;:&lt;rmse&gt;:&lt;r_squared&gt;:&lt;max_error&gt;
</div><div class="manual-option-description">
Logs the estimated parameters for the exponential heating model
(fit using least squares) and associated quality metrics for a
specific disk.
The model is: T(t) = T_steady - (T_steady - T_0) e^(-kt),
where T_0 is the initial temperature.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;device&gt;
</div><div class="manual-tag-description">
The unique device ID (uint).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;k_heat&gt;
</div><div class="manual-tag-description">
The heating rate constant, k (float).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;t_ambient&gt;
</div><div class="manual-tag-description">
The ambient temperature, T_ambient (float).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;t_steady&gt;
</div><div class="manual-tag-description">
The estimated steady-state temperature, T_steady (float),
which is the maximum expected temperature of the disk.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;rmse&gt;
</div><div class="manual-tag-description">
Root Mean Square Error of the fit (float).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;r_squared&gt;
</div><div class="manual-tag-description">
Coefficient of determination (R^2) of the fit (float).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;max_error&gt;
</div><div class="manual-tag-description">
Maximum absolute error of the fit (float).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
thermal:spindown
</div><div class="manual-option-description">
Indicates that the thermal alarm limit has been reached, and
the process is initiating a disk spindown to begin the
cooldown procedure, preventing overheating.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
thermal:cooldown:&lt;sleep_time&gt;
</div><div class="manual-option-description">
Indicates the duration of the cooldown waiting period after
spindown.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;sleep_time&gt;
</div><div class="manual-tag-description">
The total time the system will wait for
cooldown (uint, seconds).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
thermal:spinup
</div><div class="manual-option-description">
Indicates that the cooldown period is complete, and the disks
are being spun back up to resume the operation.
</div>
</div>
</div>
</div>
<div class="manual-section-level-1">
<h1 id="sec8" class="manual-title-level-1">
Command Status Tags
</h1>
<p>This section describes the tags output with the <b>status</b> command.
</p><div class="manual-section-level-3">
<h3 class="manual-title-level-3">
Summary Tags
</h3>
<p>These tags provide general information about the array configuration
and overall state.
</p><div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
summary:block_size:&lt;uint&gt;
</div><div class="manual-option-description">
The size of a block in bytes. This is the unit of parity
protection.
</div>
</div>
<div class="manual-option-entry">
<div class="manual-option-name">
summary:parity_block_count:&lt;uint&gt;
</div><div class="manual-option-description">
The total number of blocks allocated for all parity levels
combined.
</div>
</div>
<div class="manual-option-entry">
<div class="manual-option-name">
summary:parity_block_total:&lt;name&gt;:&lt;uint&gt;
</div><div class="manual-option-description">
Total blocks available for a specific parity level (e.g.,
<b>parity</b>, <b>2-parity</b>).
</div>
</div>
<div class="manual-option-entry">
<div class="manual-option-name">
summary:parity_block_free:&lt;name&gt;:&lt;uint&gt;
</div><div class="manual-option-description">
Free blocks available for a specific parity level.
</div>
</div>
<div class="manual-option-entry">
<div class="manual-option-name">
summary:parity_block_free_min:&lt;uint&gt;
</div><div class="manual-option-description">
The minimum number of free blocks across all parity levels.
This determines the maximum size of data that can be added.
</div>
</div>
<div class="manual-option-entry">
<div class="manual-option-name">
summary:file_count:&lt;uint&gt;
</div><div class="manual-option-description">
Total number of files in the array.
</div>
</div>
<div class="manual-option-entry">
<div class="manual-option-name">
summary:file_block_count:&lt;uint&gt;
</div><div class="manual-option-description">
Total number of data blocks used by files.
</div>
</div>
<div class="manual-option-entry">
<div class="manual-option-name">
summary:fragmented_file_count:&lt;uint&gt;
</div><div class="manual-option-description">
Total number of fragmented files, meaning files whose blocks
are not contiguous.
</div>
</div>
<div class="manual-option-entry">
<div class="manual-option-name">
summary:excess_fragment_count:&lt;uint&gt;
</div><div class="manual-option-description">
Total number of excess fragments (one less than the total fragments).
This is a measure of data fragmentation overhead.
</div>
</div>
<div class="manual-option-entry">
<div class="manual-option-name">
summary:zerosubsecond_file_count:&lt;uint&gt;
</div><div class="manual-option-description">
Total number of files with a zero sub-second timestamp. This
can occur on certain filesystems and may affect change detection.
</div>
</div>
<div class="manual-option-entry">
<div class="manual-option-name">
summary:file_size:&lt;uint&gt;
</div><div class="manual-option-description">
Total size of all files in bytes.
</div>
</div>
<div class="manual-option-entry">
<div class="manual-option-name">
summary:parity_size:&lt;uint&gt;
</div><div class="manual-option-description">
Total size of allocated parity blocks in bytes.
</div>
</div>
<div class="manual-option-entry">
<div class="manual-option-name">
summary:parity_size_max:&lt;uint&gt;
</div><div class="manual-option-description">
Maximum possible parity size (allocated + min free) in bytes.
This is the effective maximum protection size.
</div>
</div>
<div class="manual-option-entry">
<div class="manual-option-name">
summary:hash:&lt;name&gt;
</div><div class="manual-option-description">
The current hash algorithm in use (e.g., <b>sha256</b>).
</div>
</div>
<div class="manual-option-entry">
<div class="manual-option-name">
summary:prev_hash:&lt;name&gt;
</div><div class="manual-option-description">
The previous hash algorithm used, if a rehash is in progress.
</div>
</div>
<div class="manual-option-entry">
<div class="manual-option-name">
summary:best_hash:&lt;name&gt;
</div><div class="manual-option-description">
The best hash algorithm for optimal performance based on
system capabilities.
</div>
</div>
<div class="manual-option-entry">
<div class="manual-option-name">
summary:total_wasted:&lt;uint&gt;
</div><div class="manual-option-description">
Total wasted space (space on data disks exceeding parity
capacity) in bytes.
</div>
</div>
<div class="manual-option-entry">
<div class="manual-option-name">
summary:total_used:&lt;uint&gt;
</div><div class="manual-option-description">
Total used space by data files in bytes.
</div>
</div>
<div class="manual-option-entry">
<div class="manual-option-name">
summary:total_free:&lt;uint&gt;
</div><div class="manual-option-description">
Total free space (usable by data) in bytes, limited by parity
capacity.
</div>
</div>
<div class="manual-option-entry">
<div class="manual-option-name">
summary:total_use_percent:&lt;uint&gt;
</div><div class="manual-option-description">
Overall array use percentage.
</div>
</div>
<div class="manual-option-entry">
<div class="manual-option-name">
summary:scrub_oldest_days:&lt;uint&gt;
</div><div class="manual-option-description">
Days ago the oldest block was last scrubbed.
</div>
</div>
<div class="manual-option-entry">
<div class="manual-option-name">
summary:scrub_median_days:&lt;uint&gt;
</div><div class="manual-option-description">
Days ago the median block was last scrubbed.
</div>
</div>
<div class="manual-option-entry">
<div class="manual-option-name">
summary:scrub_newest_days:&lt;uint&gt;
</div><div class="manual-option-description">
Days ago the newest block was last scrubbed.
</div>
</div>
<div class="manual-option-entry">
<div class="manual-option-name">
summary:exit:&lt;status&gt;
</div><div class="manual-option-description">
Logs the overall exit status of the command. The <b>status</b> is
one of the following:
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
ok
</div><div class="manual-tag-description">
No issues. The array is fully synchronized and healthy.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
bad
</div><div class="manual-tag-description">
The array has some blocks marked as bad.
The array needs a <b>-e fix</b> and and a <b>-p bad scrub</b>
operation.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
unsynced
</div><div class="manual-tag-description">
The array has an interrupted sync.
The array needs another <b>sync</b> operation.
</div>
</div>
</div>
</div>
<div class="manual-section-level-3">
<h3 class="manual-title-level-3">
Per-Disk Tags
</h3>
<p>These tags provide statistics for individual data disks. &lt;name&gt;
is the disk name.
</p><div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
summary:disk_file_count:&lt;name&gt;:&lt;uint&gt;
</div><div class="manual-option-description">
Number of files on the disk.
</div>
</div>
<div class="manual-option-entry">
<div class="manual-option-name">
summary:disk_block_count:&lt;name&gt;:&lt;uint&gt;
</div><div class="manual-option-description">
Number of blocks used by files on the disk.
</div>
</div>
<div class="manual-option-entry">
<div class="manual-option-name">
summary:disk_fragmented_file_count:&lt;name&gt;:&lt;uint&gt;
</div><div class="manual-option-description">
Number of fragmented files on the disk.
</div>
</div>
<div class="manual-option-entry">
<div class="manual-option-name">
summary:disk_excess_fragment_count:&lt;name&gt;:&lt;uint&gt;
</div><div class="manual-option-description">
Number of excess fragments on the disk.
</div>
</div>
<div class="manual-option-entry">
<div class="manual-option-name">
summary:disk_zerosubsecond_file_count:&lt;name&gt;:&lt;uint&gt;
</div><div class="manual-option-description">
Number of files with zero sub-second timestamp on the disk.
</div>
</div>
<div class="manual-option-entry">
<div class="manual-option-name">
summary:disk_file_size:&lt;name&gt;:&lt;uint&gt;
</div><div class="manual-option-description">
Total size of files on the disk in bytes.
</div>
</div>
<div class="manual-option-entry">
<div class="manual-option-name">
summary:disk_block_allocated:&lt;name&gt;:&lt;uint&gt;
</div><div class="manual-option-description">
Highest block index used on the disk + 1.
</div>
</div>
<div class="manual-option-entry">
<div class="manual-option-name">
summary:disk_block_total:&lt;name&gt;:&lt;uint&gt;
</div><div class="manual-option-description">
Total blocks on the disk (physical size).
</div>
</div>
<div class="manual-option-entry">
<div class="manual-option-name">
summary:disk_block_free:&lt;name&gt;:&lt;uint&gt;
</div><div class="manual-option-description">
Free blocks on the disk.
</div>
</div>
<div class="manual-option-entry">
<div class="manual-option-name">
summary:disk_block_max_by_space:&lt;name&gt;:&lt;uint&gt;
</div><div class="manual-option-description">
Total blocks by disk space (used + free blocks), representing
the physical limit of the disk.
</div>
</div>
<div class="manual-option-entry">
<div class="manual-option-name">
summary:disk_block_max_by_parity:&lt;name&gt;:&lt;uint&gt;
</div><div class="manual-option-description">
Total blocks limited by parity space (parity size + min parity
free blocks).
This is the logical limit imposed by the parity files.
</div>
</div>
<div class="manual-option-entry">
<div class="manual-option-name">
summary:disk_block_max:&lt;name&gt;:&lt;uint&gt;
</div><div class="manual-option-description">
Maximum usable blocks (minimum of <b>..._by_space</b> and <b>..._by_parity</b>).
</div>
</div>
<div class="manual-option-entry">
<div class="manual-option-name">
summary:disk_space_wasted:&lt;name&gt;:&lt;int&gt;
</div><div class="manual-option-description">
Wasted space on the disk in bytes (positive if disk is larger
than usable parity space).
</div>
</div>
<div class="manual-option-entry">
<div class="manual-option-name">
summary:disk_used:&lt;name&gt;:&lt;uint&gt;
</div><div class="manual-option-description">
Used space on the disk in bytes.
</div>
</div>
<div class="manual-option-entry">
<div class="manual-option-name">
summary:disk_free:&lt;name&gt;:&lt;uint&gt;
</div><div class="manual-option-description">
Free usable space on the disk in bytes, limited by <b>disk_block_max</b>.
</div>
</div>
<div class="manual-option-entry">
<div class="manual-option-name">
summary:disk_use_percent:&lt;name&gt;:&lt;uint&gt;
</div><div class="manual-option-description">
Disk use percentage relative to <b>disk_block_max</b>.
</div>
</div>
</div>
</div>
<div class="manual-section-level-3">
<h3 class="manual-title-level-3">
File Timestamp Tags
</h3>
<p>These tags list files with zero sub-second timestamps.
</p><div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
zerosubsecond:&lt;disk_name&gt;:&lt;file_path&gt;
</div><div class="manual-option-description">
Lists files that have a zero sub-second timestamp.
Up to 50 are logged per disk.
</div>
</div>
</div>
</div>
<div class="manual-section-level-3">
<h3 class="manual-title-level-3">
Scrub Graph Tags
</h3>
<p>These tags provide a simple graph data of the past scrub and sync
operations.
</p><div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
scrub_graph_range:&lt;max_columns&gt;:&lt;max_height&gt;
</div><div class="manual-option-description">
Dimensions of the scrub history graph obtained from the
<b>content_info:bucket</b> records. This provides the boundary for the
precomputed graph data available in the <b>scrub_graph_bar</b> tags.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;max_columns&gt;
</div><div class="manual-tag-description">
The number of columns in the graph.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;max_height&gt;
</div><div class="manual-tag-description">
The maximum height (peak count) of blocks found
in any column (the highest sum of scrubbed and new blocks).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
scrub_graph_bar:&lt;index&gt;:&lt;days_ago&gt;:&lt;scrubbed&gt;:&lt;new&gt;
</div><div class="manual-option-description">
Data for a column of the scrub history graph. Each column
represents a time period.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;index&gt;
</div><div class="manual-tag-description">
Column index. From 0 to max_columns - 1.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;days_ago&gt;
</div><div class="manual-tag-description">
Days ago for this column's time range.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;scrubbed&gt;
</div><div class="manual-tag-description">
Count of scrubbed blocks in that day range.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;new&gt;
</div><div class="manual-tag-description">
Count of newly synced (unscrubbed) blocks in that day range.
</div>
</div>
</div>
</div>
</div>
<div class="manual-section-level-1">
<h1 id="sec9" class="manual-title-level-1">
Command Sync/Scrub Tags
</h1>
<p>Tags specific for the <b>sync</b> and <b>scrub</b> commands.
Also the error tags are possible.
</p><div class="manual-section-level-3">
<h3 class="manual-title-level-3">
Summary Tags
</h3>
<p>These tags provide summary statistics at the end of the command.
</p><div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
hash_summary:error_soft:&lt;count&gt;
</div><div class="manual-option-description">
Logs the total count of file-related errors that caused a
block to be skipped during the hashing phase. These are often
due to file changes (missing, size/time change) during the
sync operation. This happens only in <b>sync</b>.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;count&gt;
</div><div class="manual-tag-description">
Total number of file errors (uint).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
summary:error_soft:&lt;count&gt;
</div><div class="manual-option-description">
Logs the total count of file-related errors encountered during
the process (e.g., missing files, file attribute changes).
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;count&gt;
</div><div class="manual-tag-description">
The total number of file errors encountered (uint).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
summary:error_io:&lt;count&gt;
</div><div class="manual-option-description">
Logs the total count of input/output errors encountered on
data or parity disks.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;count&gt;
</div><div class="manual-tag-description">
The total number of I/O errors encountered (uint).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
summary:error_data:&lt;count&gt;
</div><div class="manual-option-description">
Logs the total count of <b>silent data errors</b> (data blocks
not matching their expected hash) encountered during the sync
process.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;count&gt;
</div><div class="manual-tag-description">
The total number of silent data errors encountered (uint).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
summary:exit:&lt;status&gt;
</div><div class="manual-option-description">
Logs the overall exit status of the command. The <b>status</b> is
one of the following:
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
ok
</div><div class="manual-tag-description">
No issues. The array is fully synchronized and healthy.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
warning
</div><div class="manual-tag-description">
Some files were skipped due to likely intentional
modifications. No hardware risk.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
error
</div><div class="manual-tag-description">
Critical failure. Indicates serious issues like I/O failures
or silent data corruption. Requires immediate hardware
or filesystem inspection.
</div>
</div>
</div>
</div>
</div>
<div class="manual-section-level-1">
<h1 id="sec10" class="manual-title-level-1">
Command Check/Fix Tags
</h1>
<p>Tags specific for the <b>check</b> and <b>fix</b> commands. For <b>audit</b> mode,
it's inteded <b>check</b> with the <b>--audit-only</b> option.
Also the error tags are possible.
</p><div class="manual-section-level-3">
<h3 class="manual-title-level-3">
Fixed/Recovered Tags
</h3>
<p>These tags log successful repairs during fix operations.
</p><div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
fixed:&lt;block_pos&gt;:&lt;disk_name&gt;:&lt;file_path&gt;:&lt;msg&gt;
</div><div class="manual-option-description">
Indicates that a file was successfully fixed using parity data.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;block_pos&gt;
</div><div class="manual-tag-description">
The block position being processed (uint).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;disk_name&gt;
</div><div class="manual-tag-description">
The name of the disk.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;file_path&gt;
</div><div class="manual-tag-description">
The file path relative to disk root (escaped).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;msg&gt;
</div><div class="manual-tag-description">
A descriptive message indicating the nature of the fix
(e.g., <b>Fixed size</b>, <b>Fixed data error at position...</b>).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
parity_fixed:&lt;block_pos&gt;:&lt;parity&gt;:&lt;msg&gt;
</div><div class="manual-option-description">
Indicates that corrupted parity data was successfully
recomputed and written.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;block_pos&gt;
</div><div class="manual-tag-description">
The block position being processed (uint).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;parity&gt;
</div><div class="manual-tag-description">
The name of the parity level (e.g., <b>parity</b>, <b>2-parity</b>).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;msg&gt;
</div><div class="manual-tag-description">
A descriptive message indicating the nature of the fix
(e.g., <b>Fixed data error</b>).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
empty_fixed:&lt;disk_name&gt;:&lt;file_path&gt;:&lt;msg&gt;
</div><div class="manual-option-description">
Logs successful recreation of a missing or corrupted empty file.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;disk_name&gt;
</div><div class="manual-tag-description">
The name of the disk.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;file_path&gt;
</div><div class="manual-tag-description">
The file path relative to disk root (escaped).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;msg&gt;
</div><div class="manual-tag-description">
A descriptive message indicating the nature of the fix
(e.g., <b>Fixed empty file</b>).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
hardlink_fixed:&lt;disk_name&gt;:&lt;link_path&gt;:&lt;msg&gt;
</div><div class="manual-option-description">
Logs successful recreation of a hard link during fix operation.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;disk_name&gt;
</div><div class="manual-tag-description">
The name of the disk.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;link_path&gt;
</div><div class="manual-tag-description">
The hard link path relative to disk root (escaped).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;msg&gt;
</div><div class="manual-tag-description">
A descriptive message indicating the nature of the fix
(e.g., <b>Fixed hardlink error</b>).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
symlink_fixed:&lt;disk_name&gt;:&lt;link_path&gt;:&lt;msg&gt;
</div><div class="manual-option-description">
Logs successful recreation of a symbolic link during fix operation.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;disk_name&gt;
</div><div class="manual-tag-description">
The name of the disk.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;link_path&gt;
</div><div class="manual-tag-description">
The symlink path relative to disk root (escaped).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;msg&gt;
</div><div class="manual-tag-description">
A descriptive message indicating the nature of the fix
(e.g., <b>Fixed symlink error</b>).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
dir_fixed:&lt;disk_name&gt;:&lt;dir_path&gt;:&lt;msg&gt;
</div><div class="manual-option-description">
Logs successful recreation of a missing directory during fix
operation.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;disk_name&gt;
</div><div class="manual-tag-description">
The name of the disk.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;dir_path&gt;
</div><div class="manual-tag-description">
The directory path relative to disk root (escaped).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;msg&gt;
</div><div class="manual-tag-description">
A descriptive message indicating the nature of the fix
(e.g., <b>Fixed dir error</b>).
</div>
</div>
</div>
</div>
<div class="manual-section-level-3">
<h3 class="manual-title-level-3">
Unrecoverable Error Tags
</h3>
<p>These tags log errors that could not be recovered.
</p><div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
unrecoverable:&lt;block_pos&gt;:&lt;disk_name&gt;:&lt;file_path&gt;:&lt;msg&gt;
</div><div class="manual-option-description">
Indicates that a block error could not be fixed due to
insufficient parity or other recovery limitations.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;block_pos&gt;
</div><div class="manual-tag-description">
The block position being processed (uint).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;disk_name&gt;
</div><div class="manual-tag-description">
The name of the disk.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;file_path&gt;
</div><div class="manual-tag-description">
The file path relative to disk root (escaped).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;msg&gt;
</div><div class="manual-tag-description">
A descriptive message indicating the nature of the problem
(e.g., <b>Unrecoverable error at position &lt;file_pos&gt;</b>,
<b>Unrecoverable unsynced error at position &lt;file_pos&gt;</b>).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
collision:&lt;disk_name&gt;:&lt;file_path&gt;:&lt;collision_path&gt;:&lt;msg&gt;
</div><div class="manual-option-description">
Logs that the modification time was not set on a recovered file to
avoid inode collision with another file.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;disk_name&gt;
</div><div class="manual-tag-description">
The name of the disk.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;file_path&gt;
</div><div class="manual-tag-description">
The file path relative to disk root (escaped).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;collision_path&gt;
</div><div class="manual-tag-description">
The path of the colliding file (escaped).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;msg&gt;
</div><div class="manual-tag-description">
A descriptive message indicating the nature of the problem
(e.g., <b>Not setting modification time to avoid inode collision</b>).
</div>
</div>
</div>
</div>
<div class="manual-section-level-3">
<h3 class="manual-title-level-3">
File Status Tags
</h3>
<p>These tags log the final status of files after processing.
</p><div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
status:unrecoverable:&lt;disk_name&gt;:&lt;file_path&gt;
</div><div class="manual-option-description">
Indicates that a file has unrecoverable errors and was renamed to
<b>.unrecoverable</b> (fix) or cannot be recovered (check).
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;disk_name&gt;
</div><div class="manual-tag-description">
The name of the disk.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;file_path&gt;
</div><div class="manual-tag-description">
The file path relative to disk root (escaped).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
status:recovered:&lt;disk_name&gt;:&lt;file_path&gt;
</div><div class="manual-option-description">
Logs that a file was successfully recovered during fix operation.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;disk_name&gt;
</div><div class="manual-tag-description">
The name of the disk.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;file_path&gt;
</div><div class="manual-tag-description">
The file path relative to disk root (escaped).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
status:recoverable:&lt;disk_name&gt;:&lt;file_path&gt;
</div><div class="manual-option-description">
Logs that a file has errors but could be recovered with a
<b>fix</b> (check).
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;disk_name&gt;
</div><div class="manual-tag-description">
The name of the disk.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;file_path&gt;
</div><div class="manual-tag-description">
The file path relative to disk root (escaped).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
status:correct:&lt;disk_name&gt;:&lt;file_path&gt;
</div><div class="manual-option-description">
Indicates that a file passed all checks successfully (verbose).
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;disk_name&gt;
</div><div class="manual-tag-description">
The name of the disk.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;file_path&gt;
</div><div class="manual-tag-description">
The file path relative to disk root (escaped).
</div>
</div>
</div>
</div>
<div class="manual-section-level-3">
<h3 class="manual-title-level-3">
Summary Tags
</h3>
<p>These tags provide summary statistics at the end of the command.
</p><div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
summary:error_soft:&lt;count&gt;
</div><div class="manual-option-description">
Logs the total count of file-related errors encountered during
the process (e.g., missing files, file attribute changes).
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;count&gt;
</div><div class="manual-tag-description">
The total number of file errors encountered (uint).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
summary:error_io:&lt;count&gt;
</div><div class="manual-option-description">
Logs the total count of input/output errors encountered on
data or parity disks.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;count&gt;
</div><div class="manual-tag-description">
The total number of I/O errors encountered (uint).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
summary:error_data:&lt;count&gt;
</div><div class="manual-option-description">
Logs the total count of <b>silent data errors</b> (data blocks
not matching their expected hash) encountered during the sync
process.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;count&gt;
</div><div class="manual-tag-description">
The total number of silent data errors encountered (uint).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
summary:error_recovered:&lt;recovered_count&gt;
</div><div class="manual-option-description">
Logs the total number of errors successfully recovered (fix).
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;recovered_count&gt;
</div><div class="manual-tag-description">
Number of recovered errors (uint).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
summary:error_recoverable:&lt;recoverable_count&gt;
</div><div class="manual-option-description">
Logs the total number of errors that can be recovered (check).
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;recoverable_count&gt;
</div><div class="manual-tag-description">
Number of recoverable errors (uint).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
summary:error_unrecoverable:&lt;unrecoverable_count&gt;
</div><div class="manual-option-description">
Logs the total number of unrecoverable errors (fix/check).
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;unrecoverable_count&gt;
</div><div class="manual-tag-description">
Number of unrecoverable errors (uint).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
summary:exit:&lt;status&gt;
</div><div class="manual-option-description">
Logs the overall exit status of the command. The <b>status</b> is one of
the following:
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
ok
</div><div class="manual-tag-description">
Indicates that the operation completed with no errors (audit).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
warning
</div><div class="manual-tag-description">
Some files were different than expected, likely caused
by intentional modification of the files.
No hardware risk (audit).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
error
</div><div class="manual-tag-description">
Critical failure. Indicates serious issues like I/O failures
or silent data corruption. Requires immediate hardware
or filesystem inspection (audit).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
recovered
</div><div class="manual-tag-description">
Indicates that the operation completed with all
errors successfully recovered (fix).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
recoverable
</div><div class="manual-tag-description">
Indicates that errors were found but are all
recoverable (check).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
unrecoverable
</div><div class="manual-tag-description">
Indicates that unrecoverable errors were
found (check/fix).
</div>
</div>
</div>
</div>
</div>
<div class="manual-section-level-1">
<h1 id="sec11" class="manual-title-level-1">
Command List Tags
</h1>
<p>This section describes the tags output with the <b>list</b> command.
</p><div class="manual-section-level-3">
<h3 class="manual-title-level-3">
List Tags
</h3>
<p>These tags log details about individual files and links processed during
the listing operation.
</p><div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
file:&lt;disk_name&gt;:&lt;subpath&gt;:&lt;size&gt;:&lt;mtime_sec&gt;:&lt;mtime_nsec&gt;:&lt;inode&gt;
</div><div class="manual-option-description">
Logs details for a regular file found on a disk.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;disk_name&gt;
</div><div class="manual-tag-description">
The configured name of the disk.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;subpath&gt;
</div><div class="manual-tag-description">
The path of the file relative to the disk's root
(escaped).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;size&gt;
</div><div class="manual-tag-description">
The size of the file in bytes (uint).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;mtime_sec&gt;
</div><div class="manual-tag-description">
The file's modification time in seconds since the
Epoch (int).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;mtime_nsec&gt;
</div><div class="manual-tag-description">
The file's modification time nanosecond component
(uint).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;inode&gt;
</div><div class="manual-tag-description">
The file's inode number (uint).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
link_&lt;type&gt;:&lt;disk_name&gt;:&lt;subpath&gt;:&lt;linkto&gt;
</div><div class="manual-option-description">
Logs details for a link found on a disk. The <b>&lt;type&gt;</b> component
varies based on the kind of link.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;type&gt;
</div><div class="manual-tag-description">
The type of link, one of: <b>hardlink</b>, <b>symlink</b>,
<b>symdir</b> (symlink to a directory), <b>junction</b>
(Windows-specific reparse point).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;disk_name&gt;
</div><div class="manual-tag-description">
The configured name of the disk (string).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;subpath&gt;
</div><div class="manual-tag-description">
The path of the link relative to the disk's root
(escaped).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;linkto&gt;
</div><div class="manual-tag-description">
The target path of the link (escaped).
</div>
</div>
</div>
</div>
<div class="manual-section-level-3">
<h3 class="manual-title-level-3">
Summary Tags
</h3>
<p>These tags log final statistics about the entire listing operation.
</p><div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
summary:file_count:&lt;count&gt;
</div><div class="manual-option-description">
Logs the total number of regular files processed.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;count&gt;
</div><div class="manual-tag-description">
The total number of files (uint).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
summary:file_size:&lt;size&gt;
</div><div class="manual-option-description">
Logs the total size of all regular files processed.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;size&gt;
</div><div class="manual-tag-description">
The cumulative size of all files (uint, bytes).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
summary:link_count:&lt;count&gt;
</div><div class="manual-option-description">
Logs the total number of links processed (hardlinks, symlinks,
symdirs, junctions).
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;count&gt;
</div><div class="manual-tag-description">
The total number of links (uint).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
summary:exit:ok
</div><div class="manual-option-description">
Indicates a successful completion of the listing operation.
Note that if a fatal error happens, the program will abort,
and you won't get this tag.
</div>
</div>
</div>
</div>
</div>
<div class="manual-section-level-1">
<h1 id="sec12" class="manual-title-level-1">
Command Dup Tags
</h1>
<p>This section describes the tags output with the <b>dup</b> command.
</p><div class="manual-section-level-3">
<h3 class="manual-title-level-3">
Duplicate Tags
</h3>
<p>These tags log information about detected duplicate files and provide
a summary of the duplicate finding process. The content hash of the
whole file is used to determine duplicates.
</p><div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
dup:&lt;diskname1&gt;:&lt;file_path1&gt;:&lt;diskname2&gt;:&lt;file_path2&gt;:&lt;size&gt;: dup
</div><div class="manual-option-description">
Logs the information about a pair of duplicate files found.
The first file listed is the one just processed, and the second
file is the previously processed file that has the same content hash.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;diskname1&gt;
</div><div class="manual-tag-description">
The configured name of the disk containing the
newly processed duplicate file.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;file_path1&gt;
</div><div class="manual-tag-description">
The path of the newly processed duplicate file
relative to its disk's mount point (escaped).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;diskname2&gt;
</div><div class="manual-tag-description">
The configured name of the disk containing the
previously processed file that is the duplicate
of <b>&lt;file_path1&gt;</b>.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;file_path2&gt;
</div><div class="manual-tag-description">
The path of the previously processed duplicate file
relative to its disk's mount point (escaped).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;size&gt;
</div><div class="manual-tag-description">
The size of the duplicate file in bytes (uint). This
size corresponds to the file <b>&lt;file_path2&gt;</b>.
</div>
</div>
</div>
</div>
<div class="manual-section-level-3">
<h3 class="manual-title-level-3">
Summary Tags
</h3>
<p>These tags provide a final summary of the duplicate finding process.
</p><div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
summary:dup_count:&lt;count&gt;
</div><div class="manual-option-description">
Logs the total number of duplicate files found. A file is counted
as a duplicate if its hash matches a hash already seen.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;count&gt;
</div><div class="manual-tag-description">
The total count of duplicate files (uint).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
summary:dup_size:&lt;size&gt;
</div><div class="manual-option-description">
Logs the total size of all duplicate files found. This size is
the sum of the sizes of all files considered duplicates.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;size&gt;
</div><div class="manual-tag-description">
The total size of duplicate files in gigabytes (uint).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
summary:exit:&lt;status&gt;
</div><div class="manual-option-description">
Logs the overall exit status of the command. The <b>status</b> is one of
the following:
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
unique
</div><div class="manual-tag-description">
Indicates that no duplicate files were found.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
dup
</div><div class="manual-tag-description">
Indicates that at least one duplicate file was found.
</div>
</div>
</div>
</div>
</div>
<div class="manual-section-level-1">
<h1 id="sec13" class="manual-title-level-1">
Command Pool Tags
</h1>
<p>This section describes the tags output with the <b>pool</b> command.
</p><div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
summary:link_count:&lt;count&gt;
</div><div class="manual-option-description">
Logs the total number of links created (symlinks, junctions).
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;count&gt;
</div><div class="manual-tag-description">
The total number of links (uint).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
summary:exit:ok
</div><div class="manual-option-description">
Indicates a successful completion of the pool operation.
Note that if a fatal error happens, the program will abort,
and you won't get this tag.
</div>
</div>
</div>
</div>
<div class="manual-section-level-1">
<h1 id="sec14" class="manual-title-level-1">
Command Rehash Tags
</h1>
<p>This section describes the tags output with the <b>rehash</b> command.
</p><div class="manual-section-level-3">
<h3 class="manual-title-level-3">
Summary Tags
</h3>
<p>These tags provide a final summary of the rehash scheduling process.
</p><div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
summary:exit:&lt;status&gt;
</div><div class="manual-option-description">
Logs the overall exit status of the command. The <b>status</b> is one of
the following:
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
scheduled
</div><div class="manual-tag-description">
Indicates that a rehash operation has
been successfully scheduled. The rehash will be performed
incrementally in future <b>sync</b> or <b>scrub</b> commands.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
already_in_progress
</div><div class="manual-tag-description">
Indicates that that a rehash is already
in progress and cannot be scheduled again. This causes the
program to exit with a fatal error.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
not_required
</div><div class="manual-tag-description">
Indicates that the current hash algorithm is
already the <b>best hash</b> for the platform, and thus
a rehash is not required. This causes the program to
exit with a fatal error.
</div>
</div>
</div>
</div>
</div>
<div class="manual-section-level-1">
<h1 id="sec15" class="manual-title-level-1">
Command Smart And Probe Tags
</h1>
<p>This section describes the tags output by the <b>smart</b> and <b>probe</b>
commands. The main difference between the two is that <b>probe</b> doesn't
spin up the disk, so it won't be able to get all attributes if the
disk is spun down. The <b>smart</b> command, instead, will always get all
attributes, but with the risk of spinning up all disks.
</p><p>Note that a <b>&lt;disk_name&gt;</b> may be associated with more <b>&lt;device_file&gt;</b>,
in case the logical disk uses more physical disks. In such a case,
you'll see multiple <b>&lt;attr&gt;</b> and <b>&lt;smart&gt;</b> tags for the same
<b>&lt;disk_name&gt;</b> but with different <b>&lt;device_file&gt;</b>. The exception is the
<b>stat</b> attrbute that is cumulative for all the devices part of the
disk.
</p><p>In case of split parity, the parity name is followed by <b>/N</b> to indicate
the split index, where N starts from 0. The <b>/0</b> is always omitted.
</p><div class="manual-section-level-3">
<h3 class="manual-title-level-3">
Attributes
</h3>
<p>Tags logging specific disk identification and attribute values.
</p><div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
smart:&lt;device_file&gt;:&lt;disk_name&gt;[/&lt;split_index&gt;]
</div><div class="manual-option-description">
Logs the start of the SMART report for a device.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;device_file&gt;
</div><div class="manual-tag-description">
The file path of the device (e.g., /dev/sdb).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;disk_name&gt;[/&lt;split_index&gt;]
</div><div class="manual-tag-description">
The configured name of the disk.
In case of split parity, the parity name is followed
by <b>/N</b> to indicate the split index, where N starts
from 0. The <b>/0</b> is always omitted.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
attr:&lt;device_file&gt;:&lt;disk_name&gt;[/&lt;split_index&gt;]:serial:&lt;serial_number&gt;
</div><div class="manual-option-description">
Logs the disk's serial number.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;serial_number&gt;
</div><div class="manual-tag-description">
The disk's serial number (escaped).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
attr:&lt;device_file&gt;:&lt;disk_name&gt;[/&lt;split_index&gt;]:family:&lt;family&gt;
</div><div class="manual-option-description">
Logs the disk's model family string.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;family&gt;
</div><div class="manual-tag-description">
The disk's model family identifier (escaped).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
attr:&lt;device_file&gt;:&lt;disk_name&gt;[/&lt;split_index&gt;]:model:&lt;model&gt;
</div><div class="manual-option-description">
Logs the disk's model string.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;model&gt;
</div><div class="manual-tag-description">
The disk's model identifier (escaped).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
attr:&lt;device_file&gt;:&lt;disk_name&gt;[/&lt;split_index&gt;]:interface:&lt;interface&gt;
</div><div class="manual-option-description">
Logs the disk's interface. Something like <b>USB</b>, <b>SATA</b>, <b>NVMe</b>.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;interface&gt;
</div><div class="manual-tag-description">
The disk's interface (escaped).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
attr:&lt;device_file&gt;:&lt;disk_name&gt;[/&lt;split_index&gt;]:afr:&lt;afr&gt;:&lt;prob&gt;
</div><div class="manual-option-description">
Logs the estimated Annual Failure Rate (AFR) and the
probability of at least one failure in the next year based on
SMART attributes. The AFR is calculated using the SMART
attributes (5, 187, 188, 197, 198).
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;afr&gt;
</div><div class="manual-tag-description">
The computed Annual Failure Rate (the average number
of failures you expect in a year) (float).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;prob&gt;
</div><div class="manual-tag-description">
The probability of at least one failure in the
next year (float).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
attr:&lt;device_file&gt;:&lt;disk_name&gt;[/&lt;split_index&gt;]:size:&lt;size_bytes&gt;
</div><div class="manual-option-description">
Logs the size of the disk.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;size_bytes&gt;
</div><div class="manual-tag-description">
The disk size in bytes (uint).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
attr:&lt;device_file&gt;:&lt;disk_name&gt;[/&lt;split_index&gt;]:error_protocol:&lt;error_count&gt;
</div><div class="manual-option-description">
Counts command, transport, or controller-level errors reported
by the device. These reflect failed I/O operations not directly
caused by media defects (for example interface, firmware, or
power-related errors).
This counter is cumulative and never resets to zero, even if
the underlying error condition is resolved.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;error_count&gt;
</div><div class="manual-tag-description">
The total error count (uint).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
attr:&lt;device_file&gt;:&lt;disk_name&gt;[/&lt;split_index&gt;]:error_medium:&lt;error_count&gt;
</div><div class="manual-option-description">
Counts media-level errors where data could not be reliably
read or written. These indicate actual storage surface or
flash failures and may imply data loss.
This counter is cumulative and never resets to zero, even if
the underlying error condition is resolved.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;error_count&gt;
</div><div class="manual-tag-description">
The total error count (uint).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
attr:&lt;device_file&gt;:&lt;disk_name&gt;[/&lt;split_index&gt;]:wear_level:&lt;percentage&gt;
</div><div class="manual-option-description">
The wear level of the SSD/NVME expressed as a percentage, where a
value of 0 represents a brand new drive with zero wear and
a value of 100 indicates the drive has reached or exceeded its
manufacturer-rated design life. This metric is provided as a
normalized unsigned integer, offering a consistent health
indicator across various SSD/NVME vendors and interface types
by mapping diverse hardware counters into a single
standardized scale.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;percentage&gt;
</div><div class="manual-tag-description">
Wear level percentage (uint).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
attr:&lt;device_file&gt;:&lt;disk_name&gt;[/&lt;split_index&gt;]:rotationrate:&lt;rate&gt;
</div><div class="manual-option-description">
Logs the disk's rotation rate.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;rate&gt;
</div><div class="manual-tag-description">
The rotation rate. A value of 0 indicates a
solid-state drive (SSD) or other non-rotating medium.
A value of 1 indicates a rotational disk of unknown
precise speed. Values greater than 1 indicate the
rotational speed in RPM.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
attr:&lt;device_file&gt;:&lt;disk_name&gt;[/&lt;split_index&gt;]:flags:&lt;flags_decimal&gt;:&lt;flags_hex&gt;
</div><div class="manual-option-description">
Logs the SMART status flags from the <b>smartctl</b> utility.
Per the smartctl manpage, these flags are bit-mapped
to indicate specific issues like <b>Command line did not parse</b>,
<b>Device could not be opened</b>, or <b>SMART status check returned 'DISK FAILING'</b>.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;flags_decimal&gt;
</div><div class="manual-tag-description">
The raw flags value (uint, decimal).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;flags_hex&gt;
</div><div class="manual-tag-description">
The raw flags value (uint, hexadecimal).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
attr:&lt;device_file&gt;:&lt;disk_name&gt;[/&lt;split_index&gt;]:&lt;id&gt;:&lt;raw_decimal&gt;:&lt;raw_hex&gt;:&lt;norm&gt;:&lt;worst&gt;:&lt;thresh&gt;:&lt;name&gt;:&lt;type&gt;:&lt;updated&gt;:&lt;when_failed&gt;
</div><div class="manual-option-description">
Logs the raw value of any assigned SMART attribute.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;id&gt;
</div><div class="manual-tag-description">
The SMART attribute ID (uint).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;raw_decimal&gt;
</div><div class="manual-tag-description">
The raw attribute value (uint, decimal).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;raw_hex&gt;
</div><div class="manual-tag-description">
The raw attribute value (uint, hexadecimal).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;norm&gt;
</div><div class="manual-tag-description">
The normalized value (uint).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;worst&gt;
</div><div class="manual-tag-description">
The worst value (uint).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;thresh&gt;
</div><div class="manual-tag-description">
The threshold value (uint).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;name&gt;
</div><div class="manual-tag-description">
Name of the attribute.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;type&gt;
</div><div class="manual-tag-description">
Type of the attribute: <b>prefail</b> or <b>oldage</b>.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;updated&gt;
</div><div class="manual-tag-description">
Update method of the attribute: <b>always</b> or <b>offline</b>.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;when_failed&gt;
</div><div class="manual-tag-description">
If and when the attribute failed: <b>never</b> or <b>past</b> or <b>now</b>.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
attr:&lt;device_file&gt;:&lt;disk_name&gt;[/&lt;split_index&gt;]:power:active
</div><div class="manual-option-description">
Logs that the device was confirmed to be in an active power
state after a status probe.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
attr:&lt;device_file&gt;:&lt;disk_name&gt;[/&lt;split_index&gt;]:power:standby
</div><div class="manual-option-description">
Logs that the device was confirmed to be in a standby/spun-down
state.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
attr:&lt;device_file&gt;:&lt;disk_name&gt;[/&lt;split_index&gt;]:power:up
</div><div class="manual-option-description">
Logs a successful spin-up operation via direct O_DIRECT
read.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
attr:&lt;device_file&gt;:&lt;disk_name&gt;[/&lt;split_index&gt;]:power:down
</div><div class="manual-option-description">
Logs a successful spin-down operation initiated via the
smartctl command.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
stat:&lt;disk_name&gt;:&lt;access_number&gt;
</div><div class="manual-option-description">
Logs the total number of read and write accesses done on the
disk. This is a cumulative value that include all the devices
and split of the disk.
Comparing this number at different times, you can detect if the
disk was used during that time.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;access_number&gt;
</div><div class="manual-tag-description">
Total number of accesses (uint).
</div>
</div>
</div>
</div>
<div class="manual-section-level-3">
<h3 class="manual-title-level-3">
Summary
</h3>
<p>Tags logging the overall failure probabilities for the array.
</p><div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
summary:array_failure:&lt;array_afr&gt;:&lt;array_prob&gt;
</div><div class="manual-option-description">
Logs the total estimated failure rate for the entire array
(sum of individual disk AFRs) and the probability of at least
one failure in the next year.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;array_afr&gt;
</div><div class="manual-tag-description">
The sum of AFRs of all disks in the array (the
average number of failures you expect in a year) (float).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;array_prob&gt;
</div><div class="manual-tag-description">
The probability of at least one failure in
the next year (float).
</div>
</div>
</div>
</div>
</div>
<div class="manual-section-level-1">
<h1 id="sec16" class="manual-title-level-1">
Device Status Tags
</h1>
<p>These tags log the lifecycle of hardware interactions and external
command execution with the <b>smartctl</b> command.
</p><div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
device:&lt;device_file&gt;:&lt;disk_name&gt;[/&lt;split_index&gt;]:shell
</div><div class="manual-option-description">
Logs a failure in the command shell execution environment.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;device_file&gt;
</div><div class="manual-tag-description">
The system path to the device node.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;disk_name&gt;[/&lt;split_index&gt;]
</div><div class="manual-tag-description">
The configured name of the disk.
In case of split parity, the parity name is followed
by <b>/N</b> to indicate the split index, where N starts
from 0. The <b>/0</b> is always omitted.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
device:&lt;device_file&gt;:&lt;disk_name&gt;[/&lt;split_index&gt;]:error:&lt;errno&gt;
</div><div class="manual-option-description">
Logs a low-level system error during direct file operations.
This is triggered when open(), read(), or close()
calls fail during a spin-up attempt.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;errno&gt;
</div><div class="manual-tag-description">
The standard integer error number provided by
the OS.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
device:&lt;device_file&gt;:&lt;disk_name&gt;[/&lt;split_index&gt;]:error:abort
</div><div class="manual-option-description">
Logs that an external process (smartctl) failed to complete
normally, such as being terminated by a signal rather than
exiting.
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
device:&lt;device_file&gt;:&lt;disk_name&gt;[/&lt;split_index&gt;]:exit:&lt;exit_code&gt;
</div><div class="manual-option-description">
Logs that the external command (smartctl) returned a non-zero
exit code that was not explicitly recognized as a valid state.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;exit_code&gt;
</div><div class="manual-tag-description">
The integer exit status returned by the
process (int).
</div>
</div>
</div>
</div>
<div class="manual-section-level-1">
<h1 id="sec17" class="manual-title-level-1">
Error Tags
</h1>
<p>These tags report specific errors that occur on data disks during the
commands that access files and parities.
</p><div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
error[_io|_data]:&lt;block&gt;:&lt;disk_name&gt;:&lt;file&gt;:&lt;msg&gt;
</div><div class="manual-option-description">
Logs file access errors (open, read, file changed) during the
data disk read operation for parity calculation or verification.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
_io
</div><div class="manual-tag-description">
Indicates a physical Input/Output error.
The disk was unable to read or write a specific block,
typically signaling a failing sector or cable issue.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
_data
</div><div class="manual-tag-description">
Indicates the data was read successfully but failed
the checksum/hash verification. This signals <b>silent</b>
corruption or an unsuccessful parity match.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;block&gt;
</div><div class="manual-tag-description">
The zero-based index of the block where the error occurred (uint).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;disk_name&gt;
</div><div class="manual-tag-description">
The name of the data disk.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;file&gt;
</div><div class="manual-tag-description">
The path (relative to the disk mount point) of the
file containing the block (escaped).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;msg&gt;
</div><div class="manual-tag-description">
A descriptive message indicating the nature of the
error (e.g., <b>Open/Read/Write error</b>,
<b>Data error at position &lt;pos&gt;, diff bits &lt;diff&gt;/&lt;bits&gt;</b>).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
parity_error[_io|_data]:&lt;block&gt;:&lt;level&gt;:&lt;msg&gt;
</div><div class="manual-option-description">
Logs errors during parity disk read or write operations.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
_io
</div><div class="manual-tag-description">
Indicates a physical Input/Output error.
The disk was unable to read or write a specific block,
typically signaling a failing sector or cable issue.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
_data
</div><div class="manual-tag-description">
Indicates the data was read successfully but failed
the checksum/hash verification. This signals <b>silent</b>
corruption or an unsuccessful parity match.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;block&gt;
</div><div class="manual-tag-description">
The zero-based index of the block where the error occurred (uint).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;level&gt;
</div><div class="manual-tag-description">
The configuration name of the parity level (e.g.,
<b>parity</b>, <b>2-parity</b>).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;msg&gt;
</div><div class="manual-tag-description">
A descriptive message indicating the nature of the
error (e.g., <b>Read/Write error</b>,
<b>Data error, diff bits &lt;diff&gt;/&lt;bits&gt;</b>).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
hardlink_error[_io]:&lt;disk_name&gt;:&lt;link_path&gt;:&lt;target_path&gt;:&lt;msg&gt;
</div><div class="manual-option-description">
Indicates an error when attempting to access a hard link.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;disk_name&gt;
</div><div class="manual-tag-description">
The name of the disk.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;link_path&gt;
</div><div class="manual-tag-description">
The hard link path relative to disk root (escaped).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;target_path&gt;
</div><div class="manual-tag-description">
The target path of the hard link (escaped).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;msg&gt;
</div><div class="manual-tag-description">
A descriptive message indicating the nature of the
error (e.g., <b>Hardlink stat error</b>,
<b>Hardlink error for not regular file</b>, <b>Hardlink to stat error</b>,
<b>Hardlink-to error for not regular file</b>,
<b>Hardlink mismatch for different inode</b>).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
symlink_error[_io]:&lt;disk_name&gt;:&lt;link_path&gt;:&lt;msg&gt;
</div><div class="manual-option-description">
Indicates an error when attempting to access a symbolic link.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;disk_name&gt;
</div><div class="manual-tag-description">
The name of the disk.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;link_path&gt;
</div><div class="manual-tag-description">
The symlink path relative to disk root (escaped).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;msg&gt;
</div><div class="manual-tag-description">
A descriptive message indicating the nature of the
error (e.g., <b>Symlink read error</b>,
<b>Symlink data error '&lt;actual&gt;' instead of '&lt;expected&gt;'</b>).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
dir_error[_io]:&lt;disk_name&gt;:&lt;dir_path&gt;:&lt;msg&gt;
</div><div class="manual-option-description">
Indicates an error when attempting to access a directory.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;disk_name&gt;
</div><div class="manual-tag-description">
The name of the disk.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;dir_path&gt;
</div><div class="manual-tag-description">
The directory path relative to disk root (escaped).
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;msg&gt;
</div><div class="manual-tag-description">
A descriptive message indicating the nature of the
error (e.g., <b>Dir stat error</b>, <b>Dir error for not directory</b>).
</div>
</div>
</div>
<div class="manual-option-list">
<div class="manual-option-entry">
<div class="manual-option-name">
outofparity:&lt;disk_name&gt;:&lt;file_path&gt;
</div><div class="manual-option-description">
Logs that a file's blocks extend beyond the available parity
space, indicating that the parity files are too small to
protect all data. This occurs when data requires more parity
than is available on the parity disk(s) and is a critical
warning.
</div>
</div>
</div>
<div class="manual-tag-list">
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;disk_name&gt;
</div><div class="manual-tag-description">
The name of the disk containing the file.
</div>
</div>
<div class="manual-tag-entry">
<div class="manual-tag-name">
&lt;file_path&gt;
</div><div class="manual-tag-description">
The file path relative to the disk root (escaped).
</div>
</div>
</div>
</div>
</div>
</main>
</div>
<!-- Footer -->
<footer>
<div class="container footer-content">
<div class="footer-col">
<div class="logo">
<img src="android-chrome-192x192.png" width="32" height="32"/>
SnapRAID
</div>
<p>Copyright &copy; 2026 Andrea Mazzoleni</p>
<p class="license">Distributed under GPL v3 License</p>
</div>
<div class="footer-col">
</div>
</div>
</footer>
</body>
</html>