1cd817df23
- Update(s) from upstreamed patches: - 8036003-dont-add-unnecessary-debug-links.patch => 8036003-add-with-native-debug-symbols-configure-flag.patch - rh1176206-jdk.patch => 8150954-pr2866-rh1176206-screenshot-xcomposite-jdk.patch => Deleted rh1176206-root.patch as thats no longer needed with upstream 8150954. - Refreshed 8165852-pr3468.patch from upstream. - Refreshed 8201495-s390-java-opts.patch from upstream. - 8207057-pr3613-hotspot-assembler-debuginfo.patch => 8207057-pr3613-assembler-debuginfo-hotspot.patch and 8207057-pr3613-assembler-debuginfo-root.patch. From JDK 8u backport. - Renamed spec-only patch: pr3183.patch => pr3183-rh1340845-system-crypto-policy.patch - Renamed java-1.8.0-openjdk-size_t.patch => 8201495-s390-java-opts.patch - Moved SunEC provider via system NSS to RPM specific patches section. - Moved upstream 8u patches to appropriate sections (8u192/8u202). - Removed rh1214835.patch since it's invalid. See: https://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2304#c3 - Use --with-native-debug-symbols=internal which JDK-8036003 adds.
88 lines
3.7 KiB
Diff
88 lines
3.7 KiB
Diff
|
|
# HG changeset patch
|
|
# User bpb
|
|
# Date 1515783982 28800
|
|
# Node ID b8843bca95b5e0eed5bbb4dc195c89c727c7aede
|
|
# Parent 61d7ce442d95f5f30c84037a50cf6361bf7c37e1
|
|
8165852: (fs) Mount point not found for a file which is present in overlayfs
|
|
Summary: Check /proc/mounts when the device ID boundary is reached
|
|
Reviewed-by: alanb
|
|
|
|
diff -r 61d7ce442d95 -r b8843bca95b5 src/solaris/classes/sun/nio/fs/LinuxFileStore.java
|
|
--- openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileStore.java Tue Jul 24 05:10:45 2018 -0400
|
|
+++ openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileStore.java Fri Jan 12 11:06:22 2018 -0800
|
|
@@ -1,5 +1,5 @@
|
|
/*
|
|
- * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
|
|
+ * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
|
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
*
|
|
* This code is free software; you can redistribute it and/or modify it
|
|
@@ -66,6 +66,8 @@
|
|
}
|
|
|
|
// step 2: find mount point
|
|
+ List<UnixMountEntry> procMountsEntries =
|
|
+ fs.getMountEntries("/proc/mounts");
|
|
UnixPath parent = path.getParent();
|
|
while (parent != null) {
|
|
UnixFileAttributes attrs = null;
|
|
@@ -74,16 +76,23 @@
|
|
} 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 : procMountsEntries) {
|
|
+ if (Arrays.equals(dir, entry.dir()))
|
|
+ return entry;
|
|
+ }
|
|
+ }
|
|
path = parent;
|
|
parent = parent.getParent();
|
|
}
|
|
|
|
- // step 3: lookup mounted file systems (use /proc/mounts to ensure we
|
|
- // find the file system even when not in /etc/mtab)
|
|
+ // 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")) {
|
|
+ for (UnixMountEntry entry : procMountsEntries) {
|
|
if (Arrays.equals(dir, entry.dir()))
|
|
return entry;
|
|
}
|
|
diff -r 61d7ce442d95 -r b8843bca95b5 src/solaris/classes/sun/nio/fs/LinuxFileSystem.java
|
|
--- openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java Tue Jul 24 05:10:45 2018 -0400
|
|
+++ openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java Fri Jan 12 11:06:22 2018 -0800
|
|
@@ -1,5 +1,5 @@
|
|
/*
|
|
- * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
|
|
+ * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
|
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
*
|
|
* This code is free software; you can redistribute it and/or modify it
|
|
@@ -75,7 +75,7 @@
|
|
/**
|
|
* Returns object to iterate over the mount entries in the given fstab file.
|
|
*/
|
|
- Iterable<UnixMountEntry> getMountEntries(String fstab) {
|
|
+ List<UnixMountEntry> getMountEntries(String fstab) {
|
|
ArrayList<UnixMountEntry> entries = new ArrayList<>();
|
|
try {
|
|
long fp = setmntent(Util.toBytes(fstab), Util.toBytes("r"));
|
|
@@ -101,7 +101,7 @@
|
|
* Returns object to iterate over the mount entries in /etc/mtab
|
|
*/
|
|
@Override
|
|
- Iterable<UnixMountEntry> getMountEntries() {
|
|
+ List<UnixMountEntry> getMountEntries() {
|
|
return getMountEntries("/etc/mtab");
|
|
}
|
|
|
|
|