summaryrefslogtreecommitdiff
path: root/sdcard
diff options
context:
space:
mode:
authorJeff Sharkey <jsharkey@android.com>2015-03-16 10:17:47 -0700
committerJeff Sharkey <jsharkey@android.com>2015-03-30 19:48:38 -0700
commitfc0004894a3ff93382493688bb9ab9af83b74ea4 (patch)
treee145001c3dd2dae12c628b1e7eefc0cefa2dcc54 /sdcard
parentc9eccaa58b11af9f5cc73194deac0bc391e6d867 (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.c3
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);