HDFS-7252. small refinement to the use of isInAnEZ in FSNamesystem. (Yi Liu via vinayakumarb)
This commit is contained in:
parent
1c3ff0b7c8
commit
368743140d
@ -402,6 +402,9 @@ Release 2.7.0 - UNRELEASED
|
|||||||
HDFS-7242. Code improvement for FSN#checkUnreadableBySuperuser.
|
HDFS-7242. Code improvement for FSN#checkUnreadableBySuperuser.
|
||||||
(Yi Liu via vinayakumarb)
|
(Yi Liu via vinayakumarb)
|
||||||
|
|
||||||
|
HDFS-7252. small refinement to the use of isInAnEZ in FSNamesystem.
|
||||||
|
(Yi Liu via vinayakumarb)
|
||||||
|
|
||||||
Release 2.6.0 - UNRELEASED
|
Release 2.6.0 - UNRELEASED
|
||||||
|
|
||||||
INCOMPATIBLE CHANGES
|
INCOMPATIBLE CHANGES
|
||||||
|
@ -2592,11 +2592,11 @@ private HdfsFileStatus startFileInt(final String srcArg,
|
|||||||
src = resolvePath(src, pathComponents);
|
src = resolvePath(src, pathComponents);
|
||||||
INodesInPath iip = dir.getINodesInPath4Write(src);
|
INodesInPath iip = dir.getINodesInPath4Write(src);
|
||||||
// Nothing to do if the path is not within an EZ
|
// Nothing to do if the path is not within an EZ
|
||||||
if (dir.isInAnEZ(iip)) {
|
final EncryptionZone zone = dir.getEZForPath(iip);
|
||||||
EncryptionZone zone = dir.getEZForPath(iip);
|
if (zone != null) {
|
||||||
protocolVersion = chooseProtocolVersion(zone, supportedVersions);
|
protocolVersion = chooseProtocolVersion(zone, supportedVersions);
|
||||||
suite = zone.getSuite();
|
suite = zone.getSuite();
|
||||||
ezKeyName = dir.getKeyName(iip);
|
ezKeyName = zone.getKeyName();
|
||||||
|
|
||||||
Preconditions.checkNotNull(protocolVersion);
|
Preconditions.checkNotNull(protocolVersion);
|
||||||
Preconditions.checkNotNull(suite);
|
Preconditions.checkNotNull(suite);
|
||||||
@ -2679,14 +2679,16 @@ private BlocksMapUpdateInfo startFileInternal(FSPermissionChecker pc,
|
|||||||
}
|
}
|
||||||
|
|
||||||
FileEncryptionInfo feInfo = null;
|
FileEncryptionInfo feInfo = null;
|
||||||
if (dir.isInAnEZ(iip)) {
|
|
||||||
|
final EncryptionZone zone = dir.getEZForPath(iip);
|
||||||
|
if (zone != null) {
|
||||||
// The path is now within an EZ, but we're missing encryption parameters
|
// The path is now within an EZ, but we're missing encryption parameters
|
||||||
if (suite == null || edek == null) {
|
if (suite == null || edek == null) {
|
||||||
throw new RetryStartFileException();
|
throw new RetryStartFileException();
|
||||||
}
|
}
|
||||||
// Path is within an EZ and we have provided encryption parameters.
|
// Path is within an EZ and we have provided encryption parameters.
|
||||||
// Make sure that the generated EDEK matches the settings of the EZ.
|
// Make sure that the generated EDEK matches the settings of the EZ.
|
||||||
String ezKeyName = dir.getKeyName(iip);
|
final String ezKeyName = zone.getKeyName();
|
||||||
if (!ezKeyName.equals(edek.getEncryptionKeyName())) {
|
if (!ezKeyName.equals(edek.getEncryptionKeyName())) {
|
||||||
throw new RetryStartFileException();
|
throw new RetryStartFileException();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user