NFSTEST_IO(1)

πŸ’… nfstest_io β€” bestie's guide to the I/O tool

okay so this is the manual page for nfstest_io, which ships as part of the nfstest_io 1.2 thing and lives in section 1 of the manual (you know, the "run this in your shell" section). it's an I/O tool. it makes files and then messes with them. iconic behaviour honestly. πŸ¦‹


✨ NAME ✨

nfstest_io β€” I/O tool πŸŽ€


🌸 SYNOPSIS 🌸

nfstest_io -d <datadir> [options]

πŸ’– DESCRIPTION πŸ’–

so basically this I/O tool is here to create and manipulate files of different types. the arguments let you run it for a specified period of time, and they also let you run multiple processes at once. lowkey flexible.

here's the cute part: each process modifies a single file at a time, and the file name space is different for each process. which means there are no collisions between two different processes modifying the same file. it's giving organized. it's giving considerate. no cap. ✨


πŸ‘‘ OPTIONS πŸ‘‘

  • --version β€” show the program's version number and dip out 🫢
  • -h, --help β€” show this help message and then exit, slay
  • -d DATADIR, --datadir=DATADIR β€” the top level directory where files will be created. if it doesn't exist yet, don't even worry, it'll get created for you πŸ’–
  • -s SEED, --seed=SEED β€” the seed used to initialize the random number generator [default: automatically generated] 🎲
  • -n NPROCS, --nprocs=NPROCS β€” how many processes to use [default: 1]
  • -r RUNTIME, --runtime=RUNTIME β€” run time [default: '0']
  • -v VERBOSE, --verbose=VERBOSE β€” verbose level, pick your vibe: none|info|debug|dbg1-7|all [default: 'none']
  • -e, --exiterr β€” exit on the first error, no second chances bestie

πŸ“– Read and write:

  • --read=READ β€” read file percentage [default: 40.0]
  • --write=WRITE β€” write file percentage [default: 40.0]
  • --rdwr=RDWR β€” read/write file percentage [default: 20.0]
  • --randio=RANDIO β€” random file access percentage [default: 50.0]
  • --iodelay=IODELAY β€” seconds to delay I/O operations [default: 0.0] (yes queen, take your time)
  • --direct β€” use direct I/O ⚑
  • --rdwronly β€” use read and write only. no rename, no remove, none of that drama, just read and write. periodt.

πŸ—‚οΈ File operations:

  • --create=CREATE β€” create file percentage [default: 5.0]
  • --odgrade=ODGRADE β€” open downgrade percentage [default: 5.0]
  • --osync=OSYNC β€” open file with O_SYNC [default: 10.0]
  • --fsync=FSYNC β€” percentage of fsync after write [default: 2.0]
  • --rename=RENAME β€” rename file percentage [default: 5.0]
  • --remove=REMOVE β€” remove file percentage [default: 5.0]
  • --trunc=TRUNC β€” truncate file percentage [default: 2.0]
  • --ftrunc=FTRUNC β€” truncate opened file percentage [default: 2.0]
  • --link=LINK β€” create hard link percentage [default: 1.0]
  • --slink=SLINK β€” create symbolic link percentage [default: 0.2]
  • --readdir=READDIR β€” list contents of directory percentage [default: 0.5]
  • --lock=LOCK β€” lock file percentage [default: 20.0]
  • --unlock=UNLOCK β€” unlock file percentage [default: 80.0]
  • --tlock=TLOCK β€” lock test percentage [default: 20.0]
  • --lockfull=LOCKFULL β€” lock full file percentage [default: 50.0]
  • --minfiles=MINFILES β€” minimum number of files to create before any file operation is executed [default: 10]

πŸ“ File size options:

  • --fsizeavg=FSIZEAVG β€” file size average [default: 1m]
  • --fsizedev=FSIZEDEV β€” file size standard deviation [default: 256k]
  • --rsize=RSIZE β€” read block size [default: 64k]
  • --rsizedev=RSIZEDEV β€” read block size standard deviation [default: 8k]
  • --wsize=WSIZE β€” write block size [default: 64k]
  • --wsizedev=WSIZEDEV β€” write block size standard deviation [default: 8k]
  • --sizemult=SIZEMULT β€” size multiplier [default: 1.0]

πŸ“ Logging options:

  • --createlog β€” create log file πŸ“„
  • --createlogs β€” create a log file for each process πŸ“š
  • --logdir=LOGDIR β€” log directory [default: '/tmp']

🫢 SEE ALSO 🫢

nfstest.file_io(3), nfstest_alloc(1), nfstest_cache(1), nfstest_delegation(1), nfstest_dio(1), nfstest_fcmp(1), nfstest_file(1), nfstest_interop(1), nfstest_lock(1), nfstest_pkt(1), nfstest_pnfs(1), nfstest_posix(1), nfstest_rdma(1), nfstest_sparse(1), nfstest_ssc(1), nfstest_xattr(1), nfstest_xid(1)

the whole friend group honestly, go say hi πŸ’œ


πŸ’€ BUGS πŸ’€

No known bugs. (not a single one. the way that she's flawless? 😭 we love to see it. not me being suspicious though πŸ™ˆ)


✍️ AUTHOR ✍️

Jorge Mora (mora@netapp.com) β€” thank you for your service, king πŸ‘‘


and that's a wrap bestie!! this page is from NFStest 3.2, dated 21 March 2023, and if you ever forget any of it just run man nfstest_io and come right back. mwah πŸ’…βœ¨πŸŒΈ