From 4dfedd81a40c17eb1e92625a39eed71ae3ce9b4e Mon Sep 17 00:00:00 2001 From: Andrew Wang Date: Thu, 22 May 2014 00:10:30 +0000 Subject: [PATCH] HDFS-6396. Remove support for ACL feature from INodeSymlink. Contributed by Charles Lamb. git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1596713 13f79535-47bb-0310-9956-ffa450edef68 --- hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 3 +++ .../hdfs/server/namenode/INodeSymlink.java | 20 +++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt index 1c04100ebd6..93342653f6d 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt @@ -437,6 +437,9 @@ Release 2.5.0 - UNRELEASED HDFS-6432. Add snapshot related APIs to webhdfs. (jing9) + HDFS-6396. Remove support for ACL feature from INodeSymlink. + (Charles Lamb via wang) + OPTIMIZATIONS HDFS-6214. Webhdfs has poor throughput for files >2GB (daryn) diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeSymlink.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeSymlink.java index 288c809d397..deb3ada16e7 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeSymlink.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeSymlink.java @@ -25,6 +25,7 @@ import org.apache.hadoop.fs.permission.PermissionStatus; import org.apache.hadoop.hdfs.DFSUtil; import org.apache.hadoop.hdfs.protocol.QuotaExceededException; import org.apache.hadoop.hdfs.server.namenode.snapshot.Snapshot; +import org.apache.hadoop.hdfs.server.namenode.AclFeature; import org.apache.hadoop.hdfs.server.namenode.XAttrFeature; /** @@ -112,6 +113,25 @@ public class INodeSymlink extends INodeWithAdditionalFields { out.println(); } + /** + * getAclFeature is not overridden because it is needed for resolving + * symlinks. + @Override + final AclFeature getAclFeature(int snapshotId) { + throw new UnsupportedOperationException("ACLs are not supported on symlinks"); + } + */ + + @Override + public void removeAclFeature() { + throw new UnsupportedOperationException("ACLs are not supported on symlinks"); + } + + @Override + public void addAclFeature(AclFeature f) { + throw new UnsupportedOperationException("ACLs are not supported on symlinks"); + } + @Override final XAttrFeature getXAttrFeature(int snapshotId) { throw new UnsupportedOperationException("XAttrs are not supported on symlinks");