[roll] Roll fuchsia [fxfs] Don't fail store flush on Crypt errors If flushing an object store fails due to an error from its Crypt instance, lock the store and re-do the flush. This ensures that flushing (and therefore journal compactions) can succeed despite errors from Crypt. This is necessary because the Crypt component is untrusted and runs in a separate process, and if that process crashes, we don't want Fxfs to be unable to flush the store. This fixes an issue where the filesystem can become stuck as read-only when a user volume's Crypt instance becomes unresponsive: if the Crypt instance is unresponsive (e.g. because the component crashed), when the journal is compacted, the store will be flushed, and flushing might fail because the Crypt instance is unresponsive. When compaction fails, we fuse the journal shut as read-only. To accommodate locking a "live" store, I to plumb a lock callback through from the platform layer to ObjectStore, via the StoreOwner trait. This is necessary because a store cannot be locked while in use, so the connections from the volume must first be severed by unmounting the volume. See StoreOwner::force_lock in object_store.rs. Original-Fixed: 399171573 Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1215204 Original-Revision: 61d573669f49e3d609287069b2f9ec50fc8bfc2c GitOrigin-RevId: 7cb864e60180c11c229ac1f7c0a751828e26e971 Change-Id: Ibe437725c691e41db439d1db46834cf0c576b00d
This repository contains Fuchsia's Global Integration manifest files.
All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.
Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance in one of the communication channels documented at get involved.
First install Jiri.
Next run:
$ jiri init $ jiri import minimal https://fuchsia.googlesource.com/integration $ jiri update
Third party projects should have their own subdirectory in ./third_party.