{"id":20367478,"url":"https://github.com/linux-test-project/disktest","last_synced_at":"2025-04-12T05:27:58.252Z","repository":{"id":145468550,"uuid":"444011272","full_name":"linux-test-project/disktest","owner":"linux-test-project","description":"Disk/Filesystem stress test","archived":false,"fork":false,"pushed_at":"2022-01-03T16:50:08.000Z","size":93,"stargazers_count":8,"open_issues_count":0,"forks_count":4,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-03-26T00:51:18.939Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/linux-test-project.png","metadata":{"files":{"readme":"README","changelog":"CHANGELOG","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-01-03T09:51:33.000Z","updated_at":"2025-01-03T07:23:16.000Z","dependencies_parsed_at":null,"dependency_job_id":"011f0e7f-8240-4135-9d10-1fbed7a56a14","html_url":"https://github.com/linux-test-project/disktest","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linux-test-project%2Fdisktest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linux-test-project%2Fdisktest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linux-test-project%2Fdisktest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linux-test-project%2Fdisktest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/linux-test-project","download_url":"https://codeload.github.com/linux-test-project/disktest/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248521634,"owners_count":21118120,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-15T00:32:21.631Z","updated_at":"2025-04-12T05:27:58.238Z","avatar_url":"https://github.com/linux-test-project.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"Disktest Version v1.4.x README\n\nWHAT IS DISKTEST?\n\n  Disktest performs repeated i/o accesses to disk devices or filesystems\n  and optionally writes to, reads from, and verifies the data.\n\n  There are many optional parameters that can be supplied to disktest to have\n  it perform in a multitude of test cases.\n\n  It is distributed under the GNU General Public License - See the LICENSE\n  file that accompanies this distribution for more details.\n\nCHANGES\n\n    Please read the CHANGELOG for details on the changes to disktest from\n    previous releases.\n\nWHAT Operating Systems/Architectures DOES IT RUN ON?\n\n  This code has been written to compile on Linux, AIX, and Windows.  Both\n  on a 32bit and 64bit environments on Intel and Power.  There should be no\n  compatibility issues at the time of compilation or execution.  If you have\n  the time and can expand that list of OS/Arch types please feel free.\n\nDOCUMENTATION:\n\n  At present, the only documentation provided with disktest is the man page\n  which is included with the source files as man1/disktest.1.  You can either\n  install it as a man page on your system, use groff to view it if man is\n  not available, or export the man page to another readable format such as\n  html.\n\nINSTALLING THE SOURCE:\n\n  You can install the source by untaring the source tar files:\n\n          gzip -cd disktest.\u003cversion\u003e.tar.gz | tar xvf -\n\n  This will create a directory in the current directory of:\n\n          disktest.\u003cversion\u003e\n\n  The directory contents that should have been included in this source package\n  are:\n\n          /\n          README        LICENSE         childmain.c  childmain.h\n          defs.h        Getopt.c        Getopt.h     globals.c\n          globals.h     main.c          main.h       Makefile.windows\n          Makefile.aix  Makefile.linux  parse.c      parse.h\n          sfunc.c       sfunc.h         threading.c  threading.h\n          usage.c       usage.h         timer.c      timer.h\n          stats.c       stats.h         io.c         io.h\n          dump.c        dump.h\t\t\tCHANGELOG\n\n          man1/\n          disktest.1.gz\n\nBUILDING THE SOURCE\n\n  You will need a compiler for the machine that you want to build the source\n  for.  There is a make file included for each OS type, which will attempt to\n  use the default compiler on your system.\n\n  If you wish, create a symbolic link to the correct Makefile for the system\n  that you are compiling the code for, the following defines are used in the\n  code to #ifdef code fragments:\n\n          Windows:       -D\"WINDOWS\"\n          AIX:           -D\"AIX\"\n          Linux:         -D\"LINUX\"\n\n  This will set up the includes and typedefs correctly to support the\n  different system types.\n\n  Issue the make command:\n\n          \"make all\"\n\n  The result should be a file in the source directory that is executable with\n  'disktest' as the name.\n\n  There are other make commands defined:\n\n          \"make clean\"     Will remove executable and object files only\n\n          \"make all-clean\" Will remove executable, temp files, object files and\n                           archives (*tar* \u0026 *zip*)\n\n          \"make distro\"    Will repackage the source files\n\n          \"make install\"   Will copy man page to /usr/share/man1, and binary to\n                           /usr/bin/\n\n          \"make uninstall\" Will remove man page and binary out of install\n                           directories.\n\nEXECUTING\n\n  To get started, run disktest with the -? flag:\n\n          \"disktest -?\"\n\n  This will display a simplified usage to get started.  More descriptive\n  documentation is located in the man page, along with examples of executions\n  and output that can give you the first look and feel of how disktest will\n  receive inputs and display outputs.\n\nSO WHAT ABOUT BUGS, FEATURES, ENHANCEMENTS?\n\n  It is possible that there will be issues, whether they are bugs or features\n  that would like to be added.  You can do a couple of things, one, fix/add the\n  code yourself and send it to me.  This is the fastest way to get improvements\n  into the code.  Two, You can send me a note that has a description of the\n  problem and if possible the recreate setup. I will see what I can do about\n  getting these things added to the code.\n\n  Comments are always welcome, even if it is just a note to let me know how\n  well the tool is working for you.  I am also interested in comparing the\n  tool to others people have used.  I would be interested in any feedback\n  about the usability, data output, functionality, etc. as compared to other\n  tools or testing needs.\n\nON THE TODO LIST\n\n  - if filesystem IO testing is requested, pre-init the file if not created\n  - non-destructive read/write IO function\n  - retry, specified number of times, an IO on IO failure\n  - allow user to specify complete LBA/block data\n  - signal handling for suspend / resume / interrupt / kill / term / stat\n  - setting a timeout error message if an IO takes to long\n  - RPC functionality to support client server type testing\n  - Butterfly seek option: test will seek block\n    start/end/start+1/end-1/.../end-1/start+1/end/start\n  - Ping-Pong seek option: test will seek block start/end/start/end/etc...\n  - min seek: force a minimum seek disktance during any IO access\n  - max seek: force a maximum seek distance during any IO access\n  - Add the ability to have a \"wait\" time between IOs on a per thread bases,\n    random \"delay\" (static complete need to add random)\n  - add metric for the average response time for all IOs\n  - implement flock for filesystem testing on clusters\n  - OCFSv2 Oracle Cluster File System, compets with gpfs, gfs\n  - add a feature to allow fsync after N number of writes, currently forced to\n    every write\n\nCONTACT\n\n  My email address is: yardleyb@us.ibm.com  (Brent Yardley)\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinux-test-project%2Fdisktest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flinux-test-project%2Fdisktest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinux-test-project%2Fdisktest/lists"}