mirror of
https://github.com/versity/versitygw.git
synced 2026-10-22 06:12:39 +00:00
The posix backend publishes an object by linking or renaming a temp file into place, but never flushes it. An acknowledged PUT can therefore be lost, or come back empty, after a crash or power loss, depending on the filesystem's writeback interval. With --fsync (VGW_FSYNC), the backend fsyncs the temp file, which covers its data and xattr metadata, before publishing it. After publishing, it fsyncs the object's directory and each parent up to the bucket, so that the new entry and any directories created for it are durable. A failed flush fails the request. The option is off by default, so existing deployments are unaffected. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>