mirror of
https://github.com/ipfs/kubo.git
synced 2026-02-21 10:27:46 +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 |
||
|---|---|---|
| .. | ||
| serialize | ||
| addresses.go | ||
| api_test.go | ||
| api.go | ||
| autoconf_client.go | ||
| autoconf_test.go | ||
| autoconf.go | ||
| autonat.go | ||
| autotls.go | ||
| bitswap.go | ||
| bootstrap_peers_test.go | ||
| bootstrap_peers.go | ||
| config_test.go | ||
| config.go | ||
| datastore.go | ||
| discovery.go | ||
| dns.go | ||
| experiments.go | ||
| gateway.go | ||
| http_retrieval.go | ||
| identity.go | ||
| import_test.go | ||
| import.go | ||
| init_test.go | ||
| init.go | ||
| internal.go | ||
| ipns.go | ||
| migration_test.go | ||
| migration.go | ||
| mounts.go | ||
| peering.go | ||
| plugins.go | ||
| profile.go | ||
| provide_test.go | ||
| provide.go | ||
| provider.go | ||
| pubsub.go | ||
| remotepin.go | ||
| reprovider.go | ||
| routing_test.go | ||
| routing.go | ||
| swarm.go | ||
| types_test.go | ||
| types.go | ||
| version.go | ||