New issue
Advanced search Search tips

Issue 840598 link

Starred by 3 users

Issue metadata

Status: Untriaged
Owner: ----
Components:
EstimatedDays: ----
NextAction: ----
OS: Fuchsia
Pri: 1
Type: Bug



Sign in to add a comment

Switch to /data when minfs (/data) gets mmap support.

Project Member Reported by kmarshall@chromium.org, May 8 2018

Issue description

Minfs, which is the mutable persistent filesystem mounted at /data, does not support memory mapped files at the moment. That breaks some components which use mmap() to read and write files under the browser data directory.

We should store data on tmpfs for the time being, but switch to using minfs as soon as memory mapping is implemented for that FS.

See related Zircon bug ZX-1480 .
 
Example affected components which mmap() data dir files: ShaderDiskCache & net/disk_cache .
Description: Show this description
Labels: -M-68 M-69
Project Member

Comment 4 by bugdroid1@chromium.org, May 22 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ec64321fd86d905aea4ffc4aec01cf19d63b0fdb

commit ec64321fd86d905aea4ffc4aec01cf19d63b0fdb
Author: Kevin Marshall <kmarshall@chromium.org>
Date: Tue May 22 03:17:41 2018

Fuchsia: Add DIR_APP_DATA path key for user data, set to /tmp for now.

The existing default implementation attempts to place user data at the
same path as the browser executable. This fails for packaged apps
since the filesystem mounted at /pkg is immutable.

This CL introduces a new PathService key DIR_APP_DATA, which will
eventually point to /data, but points to /tmp for the time being
(see bug 840598).


Bug: 840598
Change-Id: I9e3bae2253c986e292b05d6532a06872de20420b
Reviewed-on: https://chromium-review.googlesource.com/1050496
Commit-Queue: Kevin Marshall <kmarshall@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Scott Graham <scottmg@chromium.org>
Reviewed-by: Peter Beverloo <peter@chromium.org>
Cr-Commit-Position: refs/heads/master@{#560472}
[modify] https://crrev.com/ec64321fd86d905aea4ffc4aec01cf19d63b0fdb/base/base_paths_fuchsia.cc
[modify] https://crrev.com/ec64321fd86d905aea4ffc4aec01cf19d63b0fdb/base/base_paths_fuchsia.h
[modify] https://crrev.com/ec64321fd86d905aea4ffc4aec01cf19d63b0fdb/base/process/process_util_unittest.cc
[modify] https://crrev.com/ec64321fd86d905aea4ffc4aec01cf19d63b0fdb/content/shell/browser/shell_browser_context.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Sep 19

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/aee8cf2da695bf10d7bf12619d476bf35dab9682

commit aee8cf2da695bf10d7bf12619d476bf35dab9682
Author: Kevin Marshall <kmarshall@chromium.org>
Date: Wed Sep 19 19:24:18 2018

[fuchsia] Many improvements and fixes related to data dir handling.

* Install the Context's persistent data directory in /data.
* Use the existence of /data as the canonical signal for enabling
  incognito mode. (Tests will still use the --incognito switch
  override.)
  ** Add a smoke test suite for running in incognito mode.
* Configure disk_cache to use SimpleCacheBackend. The default persistent
  cache backend will break because it relies on mmap(), which isn't
  supported by minfs.
* Add semantic validation for the |data_directory| handle.
  ** Add tests to exercise validation.
* Remove GetPackageRoot(), since there's no reason to not use
  PathService(DIR_SOURCE_ROOT, ...) anymore.
* Remove unused Fuchsia-specific path DIR_FUCHSIA_RESOURCES.

Bug: 840598
Change-Id: I3efdb072cc4ee8f7df21992d6a84a1b548bb7fed
Reviewed-on: https://chromium-review.googlesource.com/1232524
Reviewed-by: Scott Graham <scottmg@chromium.org>
Reviewed-by: Kevin Marshall <kmarshall@chromium.org>
Reviewed-by: Maks Orlovich <morlovich@chromium.org>
Commit-Queue: Kevin Marshall <kmarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#592513}
[modify] https://crrev.com/aee8cf2da695bf10d7bf12619d476bf35dab9682/base/base_paths_fuchsia.cc
[modify] https://crrev.com/aee8cf2da695bf10d7bf12619d476bf35dab9682/base/base_paths_fuchsia.h
[modify] https://crrev.com/aee8cf2da695bf10d7bf12619d476bf35dab9682/base/fuchsia/file_utils.cc
[modify] https://crrev.com/aee8cf2da695bf10d7bf12619d476bf35dab9682/base/fuchsia/file_utils.h
[modify] https://crrev.com/aee8cf2da695bf10d7bf12619d476bf35dab9682/base/native_library_fuchsia.cc
[modify] https://crrev.com/aee8cf2da695bf10d7bf12619d476bf35dab9682/content/common/sandbox_policy_fuchsia.cc
[modify] https://crrev.com/aee8cf2da695bf10d7bf12619d476bf35dab9682/net/disk_cache/disk_cache.cc
[modify] https://crrev.com/aee8cf2da695bf10d7bf12619d476bf35dab9682/webrunner/browser/context_impl_browsertest.cc
[modify] https://crrev.com/aee8cf2da695bf10d7bf12619d476bf35dab9682/webrunner/browser/webrunner_browser_context.cc
[modify] https://crrev.com/aee8cf2da695bf10d7bf12619d476bf35dab9682/webrunner/browser/webrunner_browser_context.h
[modify] https://crrev.com/aee8cf2da695bf10d7bf12619d476bf35dab9682/webrunner/browser/webrunner_browser_main_parts.cc
[modify] https://crrev.com/aee8cf2da695bf10d7bf12619d476bf35dab9682/webrunner/browser/webrunner_test_launcher.cc
[modify] https://crrev.com/aee8cf2da695bf10d7bf12619d476bf35dab9682/webrunner/service/common.cc
[modify] https://crrev.com/aee8cf2da695bf10d7bf12619d476bf35dab9682/webrunner/service/common.h
[modify] https://crrev.com/aee8cf2da695bf10d7bf12619d476bf35dab9682/webrunner/service/context_provider_impl.cc
[modify] https://crrev.com/aee8cf2da695bf10d7bf12619d476bf35dab9682/webrunner/service/context_provider_impl_unittest.cc

Sign in to add a comment