diff options
author | Jeff Sharkey <jsharkey@android.com> | 2015-03-16 10:17:47 -0700 |
---|---|---|
committer | Jeff Sharkey <jsharkey@android.com> | 2015-03-30 19:48:38 -0700 |
commit | fc0004894a3ff93382493688bb9ab9af83b74ea4 (patch) | |
tree | e145001c3dd2dae12c628b1e7eefc0cefa2dcc54 /sdcard | |
parent | c9eccaa58b11af9f5cc73194deac0bc391e6d867 (diff) |
Progress towards dynamic storage support.
To support external storage devices that are dynamically added and
removed at runtime, we're changing /mnt and /storage to be tmpfs that
are managed by vold.
To support primary storage being inserted/ejected at runtime in a
multi-user environment, we can no longer bind-mount each user into
place. Instead, we have a new /storage/self/primary symlink which
is resolved through /mnt/user/n/primary, and which vold updates at
runtime.
Fix small mode bugs in FUSE daemon so it can be safely mounted
visible to all users on device.
Bug: 19993667
Change-Id: I0ebf4d10aba03d73d9a6fa37d4d43766be8a173b
Diffstat (limited to 'sdcard')
-rw-r--r-- | sdcard/sdcard.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sdcard/sdcard.c b/sdcard/sdcard.c index 599236f9..2cb41e57 100644 --- a/sdcard/sdcard.c +++ b/sdcard/sdcard.c @@ -471,6 +471,7 @@ static void derive_permissions_locked(struct fuse* fuse, struct node *parent, node->perm = PERM_ROOT; node->userid = strtoul(node->name, NULL, 10); node->gid = multiuser_get_uid(node->userid, AID_SDCARD_R); + node->mode = 0771; break; case PERM_ROOT: /* Assume masked off by default. */ @@ -741,7 +742,7 @@ static void fuse_init(struct fuse *fuse, int fd, const char *source_path, * places user_id at the top directory level, with the actual roots * just below that. Shared OBB path is also at top level. */ fuse->root.perm = PERM_LEGACY_PRE_ROOT; - fuse->root.mode = 0771; + fuse->root.mode = 0711; fuse->root.gid = AID_SDCARD_R; fuse->package_to_appid = hashmapCreate(256, str_hash, str_icase_equals); fuse->uid_with_rw = hashmapCreate(128, int_hash, int_equals); |