diff options
| author | Daniel Rosenberg <drosen@google.com> | 2018-10-25 16:25:15 -0700 |
|---|---|---|
| committer | Daniel Rosenberg <drosen@google.com> | 2018-11-28 00:11:25 +0000 |
| commit | bc1cf2226ce5ff1e93560e0220a2ecaccc2b196b (patch) | |
| tree | 1b215b6da6e6156a9b5e23ca1de485bb1fce4490 /fs/sdcardfs/main.c | |
| parent | fa9640e5dd6d7cd70d37e53584a3b8e46ef7b550 (diff) | |
ANDROID: sdcardfs: Add option to not link obb
Add mount option unshared_obb to not link the obb
folders of multiple users together.
Bug: 27915347
Test: mount with option. Check if altering one obb
alters the other
Signed-off-by: Daniel Rosenberg <drosen@google.com>
Change-Id: I3956e06bd0a222b0bbb2768c9a8a8372ada85e1e
Diffstat (limited to 'fs/sdcardfs/main.c')
| -rw-r--r-- | fs/sdcardfs/main.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/fs/sdcardfs/main.c b/fs/sdcardfs/main.c index ba52af8644cc..d890c5711907 100644 --- a/fs/sdcardfs/main.c +++ b/fs/sdcardfs/main.c @@ -35,6 +35,7 @@ enum { Opt_gid_derivation, Opt_default_normal, Opt_nocache, + Opt_unshared_obb, Opt_err, }; @@ -48,6 +49,7 @@ static const match_table_t sdcardfs_tokens = { {Opt_multiuser, "multiuser"}, {Opt_gid_derivation, "derive_gid"}, {Opt_default_normal, "default_normal"}, + {Opt_unshared_obb, "unshared_obb"}, {Opt_reserved_mb, "reserved_mb=%u"}, {Opt_nocache, "nocache"}, {Opt_err, NULL} @@ -134,6 +136,9 @@ static int parse_options(struct super_block *sb, char *options, int silent, case Opt_nocache: opts->nocache = true; break; + case Opt_unshared_obb: + opts->unshared_obb = true; + break; /* unknown option */ default: if (!silent) @@ -187,13 +192,16 @@ int parse_options_remount(struct super_block *sb, char *options, int silent, return 0; vfsopts->mask = option; break; + case Opt_unshared_obb: case Opt_default_normal: case Opt_multiuser: case Opt_userid: case Opt_fsuid: case Opt_fsgid: case Opt_reserved_mb: - pr_warn("Option \"%s\" can't be changed during remount\n", p); + case Opt_gid_derivation: + if (!silent) + pr_warn("Option \"%s\" can't be changed during remount\n", p); break; /* unknown option */ default: |
