Short: Stress tests disks and file systems Author: Piotr Drapich Uploader: Piotr Drapich Type: disk/misc Version: 1.2 Architecture: m68k-amigaos Distribution: Aminet FileSystemsStressTest Copyright 2023-2024 by Union Systems Developed by Piotr Drapich web page: www.union.pl/fsst email support: fsst@union.pl FileSystemStressTest is a tool that was created primarily to help in pfs3aio filesystem development as a stress test suite. It can also be used to detect and diagnose software or hardware issues that result in file content corruption, such as incorrect MaxTransfer settings, faulty drivers, disks or controllers. Finally, FileSystemStressTest can also be used to clear sensitive data from disks. FileSystemStressTest generates test files in the specified path, customized with given parameters and verifies their content by calculating and comparing hashes of each generated file before and after saving it to disk. Test files have randomly generated content, initialized with specified seed and they will take up a specified amount of disk space, with randomly generated file sizes between the specified minimal and maximal values. Created test files are removed after verification unless option -k is used. Generated test files that failed validation are renamed to have the suffix "_failed". If option -% is specified, FileSystemStressTest can also simulate file operations performed by an application. The given percentage of generated test files will be randomly selected for deletion, then regenerated and validated. The size of each regenerated file will be kept within specified range so the total size of regenerated files will be the same as the total size of all removed files. FileSystemStressTest can be set to perform multiple iterations of the process, described above. FileSystemStressTest features: - configurable destination path, where all files will be generated - configurable filename prefix, so multiple instances of FileSystemStressTest can generate and validate files in the same directory - configurable total volume of files to generate - configurable minimum and maximum size of a single file. The actual file size will be randomly generated to be between these two values - configurable initial random generator seed, used to generate file contents - configurable work buffer size, used to generate and validate files - option to keep generated files in the destination path - configurable verbose level - configurable number of iterations New in version 1.2: - added a new option to stop execution on first validation error encountered. - generated files that failed validation are renamed to have the suffix "_failed" - added a new parameter to -k option to allow keeping only files that failed verification - improved i/o error reporting to include error description Bugs, fixed in version 1.2 - when option -s was not specified, the initial amount of space to be filled wasnt properly initialized to default value. As a result, no files were generated. - specifying a path, containing only device name without the directory could cause invalid filename path to be used for file generation. See ReadMe.txt for detailed information on parameters, usage and examples.