File java-10-openjdk-linuxfilestore.patch of Package java-10-openjdk
--- jdk10/src/java.base/linux/classes/sun/nio/fs/LinuxFileStore.java 2017-08-24 10:58:27.096028508 +0200
+++ jdk10/src/java.base/linux/classes/sun/nio/fs/LinuxFileStore.java 2017-08-24 11:47:48.169595850 +0200
@@ -74,8 +74,16 @@
} catch (UnixException x) {
x.rethrowAsIOException(parent);
}
- if (attrs.dev() != dev())
- break;
+ if (attrs.dev() != dev()) {
+
+ // step 3: lookup mounted file systems (use /proc/mounts to ensure we
+ // find the file system even when not in /etc/mtab)
+ byte[] dir = path.asByteArray();
+ for (UnixMountEntry entry: fs.getMountEntries("/proc/mounts")) {
+ if (Arrays.equals(dir, entry.dir()))
+ return entry;
+ }
+ }
path = parent;
parent = parent.getParent();
}