The fsck(8) manpage on Linux includes the following table of exit codes:
The exit code returned by fsck is the sum of the following conditions:
0 No errors
1 Filesystem errors corrected
2 System should be rebooted
4 Filesystem errors left uncorrected
8 Operational error
16 Usage or syntax error
32 Checking canceled by user request
128 Shared-library error
Exit code 2 has been allocated to 'System should be rebooted', so we can probably assume it has some purpose. Yet in principle fsck could return this exit code after checking some kind of external thumb drive that isn't critical to the operation of the system at all. It seems absurd that an error in a non-essential file system like this would necessitate a reboot, especially if the file system has only been touched by fsck.
What does a 'System should be rebooted' exit code actually mean?