Fixed the issue that hard links are handled improperly when bazel decompresses tarballs. 
Issue link: https://github.com/bazelbuild/bazel/issues/574

--
MOS_MIGRATED_REVID=132434278
diff --git a/src/test/java/com/google/devtools/build/lib/vfs/JavaIoFileSystemTest.java b/src/test/java/com/google/devtools/build/lib/vfs/JavaIoFileSystemTest.java
index efbd5b0..75bbe93 100644
--- a/src/test/java/com/google/devtools/build/lib/vfs/JavaIoFileSystemTest.java
+++ b/src/test/java/com/google/devtools/build/lib/vfs/JavaIoFileSystemTest.java
@@ -16,7 +16,10 @@
 import static org.junit.Assert.assertEquals;
 
 import com.google.devtools.build.lib.testutil.ManualClock;
-
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.LinkOption;
+import java.nio.file.attribute.BasicFileAttributes;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.JUnit4;
@@ -59,4 +62,19 @@
     file.setLastModifiedTime(-1L);
     assertEquals(42000L, file.getLastModifiedTime());
   }
+
+  @Override
+  protected boolean isHardLinked(Path a, Path b) throws IOException {
+    return Files.readAttributes(
+            java.nio.file.Paths.get(a.toString()),
+            BasicFileAttributes.class,
+            LinkOption.NOFOLLOW_LINKS)
+        .fileKey()
+        .equals(
+            Files.readAttributes(
+                    java.nio.file.Paths.get(b.toString()),
+                    BasicFileAttributes.class,
+                    LinkOption.NOFOLLOW_LINKS)
+                .fileKey());
+  }
 }