mirror of
https://github.com/ipfs/kubo.git
synced 2026-02-23 03:17:43 +08:00
* fix: add MFS operation limit for --flush=false adds a global counter that tracks consecutive MFS operations performed with --flush=false and fails with clear error after limit is reached. this prevents unbounded memory growth while avoiding the data corruption risks of auto-flushing. - adds Internal.MFSNoFlushLimit config - operations fail with actionable error at limit - counter resets on successful flush or any --flush=true operation - operations with --flush=true reset and don't count this commit removes automatic flush from https://github.com/ipfs/kubo/pull/10971 and instead errors to encourage users of --flush=false to develop a habit of calling 'ipfs files flush' periodically. boxo will no longer auto-flush (https://github.com/ipfs/boxo/pull/1041) to avoid corruption issues, and kubo applies the limit to 'ipfs files' commands instead. closes #10842 * test: add tests for MFSNoFlushLimit tests verify the new Internal.MFSNoFlushLimit config option: - default limit of 256 operations - custom limit configuration - counter reset on flush=true - counter reset on explicit flush command - limit=0 disables the feature - multiple MFS command types count towards limit * docs: explain why MFS operations fail instead of auto-flushing addresses feedback from https://github.com/ipfs/kubo/pull/10985#pullrequestreview-3256250970 - clarify that automatic flushing at limit was considered but rejected - explain the data corruption risks of auto-flushing - guide users who want auto-flush to use --flush=true (default) - document benefits of explicit failure for batch operations |
||
|---|---|---|
| .. | ||
| 3nodetest | ||
| api-startup | ||
| bench | ||
| bin | ||
| cli | ||
| dependencies | ||
| integration | ||
| sharness | ||
| unit | ||
| .gitignore | ||
| ipfs-test-lib.sh | ||
| README.md | ||
| Rules.mk | ||
| sharness_test_coverage_helper.sh | ||
Sharness test command coverage
| Module | Online Test | Offline Test |
|---|---|---|
| object | t0051 | t0051 |
| ls | t0045 | t0045 |
| cat | t0040 | |
| dht | ||
| bitswap | ||
| block | t0050 | |
| daemon | t0030 | N/A |
| init | N/A | t0020 |
| add | t0040 | |
| config | t0021 | t0021 |
| version | t0060 | t0010 |
| ping | ||
| diag | ||
| mount | t0030 | |
| name | t0110 | t0100 |
| pin | t0080 | |
| get | t0090 | t0090 |
| refs | t0080 | |
| repo gc | t0080 | |
| id | ||
| bootstrap | t0120 | t0120 |
| swarm | ||
| update | ||
| commands |