Special case case-insensitivity for Android/{data,obb}

Id45f2fe398e962ca0b16f41f628ad2fc5d849481 fixed case-insensitive
lookups for foo and FOO by creating a new node for FOO and invalidaing
the foo node. This causes problems for case insensitive requests on
the Android/{data,obb} paths because invalidating such paths can lead
the the kernel 'forgetting' the Android/{data,obb} mounts.

Now, when we get a case insensitive lookup for Android/DATA we do the
following:
1. Return the previous node for Android/data, otherwise, the app using
the DATA node will get FUSE requests on Android/DATA.
2. Don't invalidate the Android/data node so that we don't lose the
mount

Test: atest FuseDaemonHostTest#testCaseInsensitivity
Bug: 156336269

Change-Id: Ic7613d1b5325bf7466cd94fe6c713bc55aeacd79
1 file changed