-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Multiple Readers and Writers in File System Access API #845
Comments
The questionnaire has changed somesince then, for example the old questionnaire does not cover BFCache. We're discussing that elsewhere but there may be other changed to the questionnaire that make it worth revisiting. |
We briefly discussed this during our F2F, overall - this looks good. However, we couldn't see how the lock is expected to behave when the document becomes not fully active, or if the rug is pulled from underneath (e.g. crash). Effectively, there doesn't seem to be a mechanism in place for recovery; or getting out of a stale lock state. Could you elaborate on what you have in mind here and possibly add that to the explainer? Also, the other implementer signal is a pointer to a long thread, where we can't really identify who is from which implementer. It would be helpful if there was at least a pointer to the actual comment from each implementer. (Ideally we'd want to see a standards position.) |
For a page crash, all locks associated with that page will be maintained by a process associated with the user agent. So if the user agent crashes the lock is released. This is similar to how flock is owned by the file descriptor, so if the process that owns the file descriptor crashes, then the lock is released when the file descriptor is unallocated (https://man7.org/linux/man-pages/man2/flock.2.html). Interaction with BFCache is already an issue without introducing the new locking scheme and is discussed here: whatwg/fs#17. From that discussion, we'd like to evict a page in BFCache only on contention of a fully active page's FSA locks with the BFCached page's FSA locks. I'll update the explainer to have a section explaining that.
We forgot to request standards positions. I'll do that now! |
Thanks for the quick response. We'll wait for the updates and standards position - let's resume the discussion when we have those. |
Given the response above, and the multiple stakeholder support, we're happy to see this proposal move forward. Thanks for bringing this to our attention! |
こんにちは TAG-さん!
I'm requesting a TAG review of Multiple Readers and Writers in File System Access API.
Currently, only one
FileSystemSyncAccessHandle
may be open at a time per file, preventing an origin from reading the same file from multiple tabs easily. Conversely, multipleFileSystemWritableFileStream
can be simultaneously open, letting multiple writers clobber each other.Introducing new “create” modes for
FileSystemSyncAccessHandle
andFileSystemWritableFileStream
allows opening either multiple readers/writers or an exclusive writer to a file entry, depending on the application's use case.Further details:
FileSystemSyncAccessHandle
s, but the stance for multiple writers is not yet known.You should also know that…
FileSystemSyncAccessHandle
is available only on Bucket File System (a.k.a. Origin Private File System), whileFileSystemWritableFileStream
is available on both Bucket File System (implemented in Blink, Gecko, WebKit) and local file system (Chromium-only).We'd prefer the TAG provide feedback as:
🐛 open issues in our GitHub repo for each point of feedback
The text was updated successfully, but these errors were encountered: