sdcardfs: Added top to sdcardfs_inode_info
authorDaniel Rosenberg <drosen@google.com>
Wed, 18 May 2016 23:57:10 +0000 (16:57 -0700)
committerStricted <info@stricted.net>
Thu, 11 Oct 2018 16:03:17 +0000 (18:03 +0200)
commit486a747634957b05339fb0749b5db9adbc76ec00
treedc099c00aa79b3e2c76d799ae6015bccd4d722da
parentf424953927c1f35d967d8cb21bd77ae7bd3e581d
sdcardfs: Added top to sdcardfs_inode_info

Adding packages to the package list and moving files
takes a large amount of locks, and is currently a
heavy operation. This adds a 'top' field to the
inode_info, which points to the inode for the top
most directory whose owner you would like to match.

On permission checks and get_attr, we look up the
owner based on the information at top. When we change
a package mapping, we need only modify the information
in the corresponding top inode_info's. When renaming,
we must ensure top is set correctly in all children.
This happens when an app specific folder gets moved
outside of the folder for that app.

Change-Id: Ib749c60b568e9a45a46f8ceed985c1338246ec6c
Signed-off-by: Daniel Rosenberg <drosen@google.com>
fs/sdcardfs/derived_perm.c
fs/sdcardfs/inode.c
fs/sdcardfs/main.c
fs/sdcardfs/packagelist.c
fs/sdcardfs/sdcardfs.h
fs/sdcardfs/super.c