FS: Fix handling of directory locks invalidated during database initialization
Categories
(Core :: Storage: Bucket File System, defect, P2)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox133 | --- | fixed |
People
(Reporter: janv, Assigned: janv)
References
Details
Attachments
(8 external files)
| Assignee | ||
Comment 1•2 years ago
|
||
| Assignee | ||
Comment 2•2 years ago
|
||
| Assignee | ||
Comment 3•2 years ago
|
||
| Assignee | ||
Comment 4•2 years ago
|
||
| Assignee | ||
Comment 5•2 years ago
|
||
mBackgroundRequestHandler->FileSystemManagerChildStrongRef() is currently
expected to return a non-null value when FileSystemManager::BeginRequest gets a
success for mBackgroundRequestHandler->CreateFileSystemManagerChild. It turns
out that's not always true because the child actor can get destroyed in the
mean time (FileSystemBackgroundRequestHandler::ClearActor is called). It would
be safer if FileSystemBackgroundRequestHandler::CreateFileSystemManagerChild
returned a strong reference to the created object.
| Assignee | ||
Comment 6•2 years ago
|
||
FileSystemManagerChild::CloseAllWritables is sometimes called from
FileSystemManager::Shutdown which can be called late in application shutdown
when GetCurrentSerialEventTarget returns null. At that point there are no
writable file streams and the problem with GetCurrentSerialEventTarget
returning null can be solved by calling the callback directly without
dispatching a new runnable.
| Assignee | ||
Comment 7•2 years ago
|
||
It can happen that FileSystemDataManager::AbortOperationsForLocks is called
during asynchronous CreateFileSystemManagerParent operation when the actor is
not yet registered. FileSystemDataManager::RequestAllowToClose is not able
to propagate the notification to the actor in that case. This patch fixes the
problem by checking directory lock and propagating the notification right after
a new actor has been registered.
| Assignee | ||
Comment 8•2 years ago
|
||
getDirectory currently fails with unknown error because the actor refuses to
send the GetRootHandle message. For accuracy, it would be better to explicitly
error out FileSystemBackgroundRequestHandler::CreateFileSystemManagerChild if
the actor already received the CloseAll message.
Comment 10•2 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/960767ec059a
https://hg.mozilla.org/mozilla-central/rev/79abf728d40a
https://hg.mozilla.org/mozilla-central/rev/a01a0de91d72
https://hg.mozilla.org/mozilla-central/rev/434b26eeb6e9
https://hg.mozilla.org/mozilla-central/rev/722b054485d6
https://hg.mozilla.org/mozilla-central/rev/b6ed66eee249
https://hg.mozilla.org/mozilla-central/rev/5c6d546b3816
https://hg.mozilla.org/mozilla-central/rev/654ca93bea0e
Description
•