Skip to content

Add optional tmpfs storage for fuzzing corpus#461

Merged
hbrodin merged 2 commits intomainfrom
feature/tmpfs-corpus
Feb 6, 2026
Merged

Add optional tmpfs storage for fuzzing corpus#461
hbrodin merged 2 commits intomainfrom
feature/tmpfs-corpus

Conversation

@hbrodin
Copy link
Copy Markdown
Collaborator

@hbrodin hbrodin commented Jan 30, 2026

Add support for storing the node-local fuzzing corpus in tmpfs (RAM-based filesystem) for improved I/O performance during fuzzing operations.

Key changes:

  • Add CORPUS_TMPFS_PATH environment variable to configure tmpfs location
  • Add cross-filesystem safe operations (copy+delete fallback for EXDEV)
  • Update Corpus class to use tmpfs path when enabled while maintaining correct remote path calculation for rsync synchronization
  • Add Helm chart configuration using /dev/shm (requires no host setup)
  • Update fuzzer-bot, coverage-bot, merger-bot, seed-gen deployments

The feature is disabled by default. Enable by setting global.volumes.corpusTmpfs.enabled=true in values.yaml.

Uses hostPath to /dev/shm/buttercup-corpus which is available on Linux systems without requiring any Kubernetes host configuration.

Add support for storing the node-local fuzzing corpus in tmpfs (RAM-based
filesystem) for improved I/O performance during fuzzing operations.

Key changes:
- Add CORPUS_TMPFS_PATH environment variable to configure tmpfs location
- Add cross-filesystem safe operations (copy+delete fallback for EXDEV)
- Update Corpus class to use tmpfs path when enabled while maintaining
  correct remote path calculation for rsync synchronization
- Add Helm chart configuration using /dev/shm (requires no host setup)
- Update fuzzer-bot, coverage-bot, merger-bot, seed-gen deployments

The feature is disabled by default. Enable by setting
global.volumes.corpusTmpfs.enabled=true in values.yaml.

Uses hostPath to /dev/shm/buttercup-corpus which is available on all
Linux systems without requiring any Kubernetes host configuration.
@hbrodin hbrodin force-pushed the feature/tmpfs-corpus branch from dc6b5f9 to 3aa830c Compare January 30, 2026 15:30
- Add assertion that source is a file in hash_corpus before shutil.move
- Remove unused move_file_cross_fs function from node_local
- Remove duplicate tests for move_file_cross_fs from test files
@hbrodin hbrodin merged commit 09f2980 into main Feb 6, 2026
25 checks passed
@hbrodin hbrodin deleted the feature/tmpfs-corpus branch February 6, 2026 19:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants