English Amiga Board


Go Back   English Amiga Board > Support > support.Apps

 
 
Thread Tools
Old 29 December 2023, 05:00   #21
Docent
Registered User
 
Join Date: Mar 2019
Location: Poland
Posts: 59
Quote:
Originally Posted by Toni Wilen View Post
- Fill the partition (optional parameter: how much to fill) with random size files (optional parameter: min and max size) with random contents (so that if some data block overwrites other file's block, checksum must be guaranteed changed). Checksum must be calculated from original generated data. Must be much better algorithm than CRC-32! Must stop immediately if error detected.
- After partition has been filled, each file must be read and checksum calculated. All checksums must match 100%.
- Then randomly chosen files should be deleted and new random size files generated (with same checksum generation as in first step)
- Repeat (stop with Control-C)

File size/name random generator should use user given seed value parameter so that exact same test can be replicated.

It does not matter if disk isn't 100% filled, it isn't important. Important test case is to guarantee nothing gets corrupted (or filesystem crash) when creating/reading/deleting files.

EDIT: Also some way to only rewrite existing file partially would be nice to have but it can make checksumming more complex.

Program must work even if more than one instance is running simultaneously (to simulate multiple programs doing disk accesses at the same time). Must work even if both are using same path = file names should not have collisions.

Also very important: must runnable from CLI, (no GUI!), all messages must be written to standard output.
Hi Toni,
To help progressing with release of pfsaio, I made an utility that does most of the requirements you listed above.
FileSystemStressTest has the following features:
- configurable destination path, where files will be generated
- configurable filename prefix so two or more instances can generate and validate files in the same directory
- configurable total volume of files to generate in MB
- 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 for file contents
- configurable workbuffer size, used to generate/validate files
- option to keep generated files in the destination path
- configurable verbose level
- configurable number of iterations
- shell only

The random number generator used is xoshiro128++ 1.0, random seed for it is generated using splitmix32 seeded by the provided seed or time(NULL).
The hash used to verify file integrity is xxhash.
fsst uses stdio to perform read/writes.

Currently it does not support one point from your list (delete randomly selected files and generate new replacement files), I can add it but need to think a bit how to parametrize it from shell. Perhaps the number of files to delete/regenerate will do, but then the new file size should not be bigger than the removed one...

Interestingly, native windows version with options e:fstest -s 300 -l 0 -h 1000000 -r 0xBABA -b 0x7fffff -v 2 -p test_ runs single test on my laptop in 11 secs. The amiga version under winuae (configured with volumes as directiories) on the same laptop with the same options runs in 275 secs. 75 secs is spent on deleting files, while native version deletes in 1 sec.. There might be some room for performance improvement in volume as dir emulation's file removal.

Last edited by Docent; 12 January 2024 at 06:49.
Docent is offline  
Old 04 January 2024, 18:45   #22
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,517
Hi, sorry for delay. That sounds great, maybe I'll check pfs3 after DraCo emulation is done
Toni Wilen is offline  
Old 04 January 2024, 23:10   #23
Docent
Registered User
 
Join Date: Mar 2019
Location: Poland
Posts: 59
Quote:
Originally Posted by Toni Wilen View Post
Hi, sorry for delay. That sounds great, maybe I'll check pfs3 after DraCo emulation is done
No problem, looking at the progress with the Draco emulation, you'll finish it over the weekend
In the meantime I implemented the last requirement - now you can specify the percent of newly created files to be deleted and recreated with new random content and size. I'll post the new version tomorrow - need to do some more testing first.
Docent is offline  
Old 12 January 2024, 06:59   #24
Docent
Registered User
 
Join Date: Mar 2019
Location: Poland
Posts: 59
Here's attached the latest version 1.1 with the following features added:

- faster random number generator (sfc) used
- configurable percent of generated files to be removed, regenerated and validated in each iteration
- option to disable generation of random file sizes
- option to configure fill value to be used instead of random values
- option to force filling up the whole volume


More details in ReadMe.txt inside the archive.


Have fun
Attached Files
File Type: lha FileSystemStressTest.lha (19.2 KB, 34 views)
Docent is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
PFS3AIO v3.1 Final Toni Wilen News 501 22 September 2023 21:55
PFS3aio vs SFS/02 White support.WinUAE 10 13 April 2018 21:44
PFS3AIO Probs ? Foul support.FS-UAE 0 21 February 2018 22:49
PFS3AIO Questions manic23 support.Hardware 26 22 April 2014 13:49
Pfs3aio ???? stingray76 support.Hardware 2 19 February 2014 09:15

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 13:59.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.15522 seconds with 14 queries