[LSF/MM TOPIC] Getting rid of Android's FUSE/wrapfs hackery

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



For historical reasons, which may sound awful, but which stem from the
Android's team strong belief that they should never break userspace
(as seen from Android Applications' POV), even as the system evolves,
things like /sdcard access are emulated using a FUSE interface, and
then when that ran into performance limitations, some of the Android
handset vendors have been trying to use a wrapfs based "solution"
instead.  The wrapfs solution is ugly, fragile, and will probably
never make it upstream.

The original problem comes from the fact /sdcard was a FAT file
system, which meant that it had case insensitive lookups and it didn't
have Unix permission semantics.  The actual storage of the /sdcard now
lives on a f2fs or ext4 partition, and and the original "FAT-ness" of
/sdcard is simulated via a FUSE or a wrapfs layer.  Worse, in newer
versions of Android, the FUSE layer was used to implement Android
application permission (which are essentially dynamic capalities which
are granted when the user is asked whether or not to allow the
application to have access to the user's photos, external storage,
etc.), at least as they relate to storage.

I'd like to talk about how we might be able to provide something
maintainable from an upstream perspective that can provide the
functionality which the Android system needs to offer to its
applications.  We've talked about trying to solve case insensitive
lookups in the kernel before; that's fairly straightforward,
especially since the FUSE implementations and wrapfs implementations
I've seen only do ASCII case folding and completely punt on the
Unicode aspect of I18N.

But I think it should be possible to provide the other requirements of
the Android storage semantics with minimal changes to the VFS layer,
as well as using more standard tools in the upstream kernel
developers' toolbox, such as a stackable LSM for the application-level
permissions handling.

						- Ted
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux