Configuration
Environment Variables
Default settings live in lib/hashio/config.py.
| Variable | Description |
|---|---|
BUF_SIZE |
Chunk size in bytes when reading files |
HASHIO_ALGO |
Default hashing algorithm |
HASHIO_DB |
Cache database location |
HASHIO_FILE |
Default hash file location |
HASHIO_USE_CACHE |
Enable cache lookups and writes |
HASHIO_IGNORABLE |
Comma-separated ignorable file patterns |
LOG_LEVEL |
Logging level (DEBUG, INFO, etc.) |
MAX_PROCS |
Maximum number of hash worker processes |
If you use envstack, you can start from the provided env file:
cp hashio.env debug.env
./debug.env -- hashio
Metadata Collected
By default hashio records the following metadata per path:
| Key | Value |
|---|---|
name |
File name |
atime |
Access time (st_atime) |
ctime |
Creation time (st_ctime) |
mtime |
Modification time (st_mtime) |
ino |
Inode (st_ino) |
dev |
Filesystem device (st_dev) |
size |
File size in bytes |
type |
Path type: file or directory |
Buffer Size Tuning
By default hashio uses a fixed read buffer size from config.py.
Set BUF_SIZE to a positive integer to use that exact size:
export BUF_SIZE=524288
Set BUF_SIZE to 0 or a negative value to enable dynamic sizing based on
filesystem block size:
export BUF_SIZE=0
Dynamic sizing is useful on filesystems with large block sizes where larger sequential reads can reduce IOPS.