Moved symlink back up.

Moving the vendor symlink down was causing issues with some devices.
Moved it back up, and adjusted mount to remove symlinks if necessary.

Change-Id: I77126d77cfbef32250012bea3960c99b55db4cbb
Signed-off-by: Daniel Rosenberg <drosen@google.com>
diff --git a/fs_mgr/fs_mgr.c b/fs_mgr/fs_mgr.c
index 4fad6ad..ab3c5a6 100644
--- a/fs_mgr/fs_mgr.c
+++ b/fs_mgr/fs_mgr.c
@@ -197,7 +197,14 @@
     unsigned long mountflags = rec->flags;
     int ret;
     int save_errno;
-    
+
+    /* We need this because sometimes we have legacy symlinks
+     * that are lingering around and need cleaning up.
+     */
+    struct stat info;
+    if (!lstat(target, &info))
+        if ((info.st_mode & S_IFMT) == S_IFLNK)
+            unlink(target);
     mkdir(target, 0755);
     ret = mount(source, target, rec->fs_type, mountflags, rec->fs_options);
     save_errno = errno;
diff --git a/rootdir/init.rc b/rootdir/init.rc
index 45928bb..7d2addb 100644
--- a/rootdir/init.rc
+++ b/rootdir/init.rc
@@ -38,6 +38,10 @@
     symlink /system/etc /etc
     symlink /sys/kernel/debug /d
 
+    # Right now vendor lives on the same filesystem as system,
+    # but someday that may change.
+    symlink /system/vendor /vendor
+
     # Create cgroup mount point for cpu accounting
     mkdir /acct
     mount cgroup none /acct cpuacct
@@ -180,10 +184,6 @@
     trigger boot
 
 on post-fs
-    # Right now vendor lives on the same filesystem as system,
-    # but someday that may change. If it has, this symlink will fail.
-    symlink /system/vendor /vendor
-
     # once everything is setup, no need to modify /
     mount rootfs rootfs / ro remount
     # mount shared so changes propagate into child namespaces