ANDROID: vfs: add d_canonical_path for stacked filesystem support

Inotify does not currently know when a filesystem
is acting as a wrapper around another fs. This means
that inotify watchers will miss any modifications to
the base file, as well as any made in a separate
stacked fs that points to the same file.
d_canonical_path solves this problem by allowing the fs
to map a dentry to a path in the lower fs. Inotify
can use it to find the appropriate place to watch to
be informed of all changes to a file.

Includes subsequent work and fixes:

  Daniel Rosenberg <drosen@google.com>:
  inotify: Fix erroneous update of bit count
  Daniel Rosenberg <drosen@google.com>:
  inotify: Fix erroneous update of bit count

Signed-off-by: Daniel Rosenberg <drosen@google.com>

Bug: 23904372
Patchset: fs-dentry-canonical-path

Signed-off-by: Mattias Nissler <mnissler@google.com>
Change-Id: I3ed224cdcf589ac3b46fafd3d90b9775bf68f3cd
2 files changed