Author: umamahesh Date: Thu Jan 23 16:39:18 2014 New Revision: 1560732 URL: http://svn.apache.org/r1560732 Log: Merge HDFS-5789. Some of snapshot APIs missing checkOperation double check in fsn. Contributed by Uma Maheswara Rao G.
Modified: hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java Modified: hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt?rev=1560732&r1=1560731&r2=1560732&view=diff ============================================================================== --- hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt (original) +++ hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt Thu Jan 23 16:39:18 2014 @@ -836,6 +836,8 @@ Release 2.3.0 - UNRELEASED HDFS-5649. Unregister NFS and Mount service when NFS gateway is shutting down. (brandonli) + HDFS-5789. Some of snapshot APIs missing checkOperation double check in fsn. (umamahesh) + Release 2.2.0 - 2013-10-13 INCOMPATIBLE CHANGES Modified: hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java?rev=1560732&r1=1560731&r2=1560732&view=diff ============================================================================== --- hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java (original) +++ hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java Thu Jan 23 16:39:18 2014 @@ -6777,6 +6777,7 @@ public class FSNamesystem implements Nam /** Allow snapshot on a directroy. */ void allowSnapshot(String path) throws SafeModeException, IOException { + checkOperation(OperationCategory.WRITE); writeLock(); try { checkOperation(OperationCategory.WRITE); @@ -6802,6 +6803,7 @@ public class FSNamesystem implements Nam /** Disallow snapshot on a directory. */ void disallowSnapshot(String path) throws SafeModeException, IOException { + checkOperation(OperationCategory.WRITE); writeLock(); try { checkOperation(OperationCategory.WRITE); @@ -6925,6 +6927,7 @@ public class FSNamesystem implements Nam public SnapshottableDirectoryStatus[] getSnapshottableDirListing() throws IOException { SnapshottableDirectoryStatus[] status = null; + checkOperation(OperationCategory.READ); final FSPermissionChecker checker = getPermissionChecker(); readLock(); try { @@ -6958,6 +6961,7 @@ public class FSNamesystem implements Nam SnapshotDiffReport getSnapshotDiffReport(String path, String fromSnapshot, String toSnapshot) throws IOException { SnapshotDiffInfo diffs = null; + checkOperation(OperationCategory.READ); final FSPermissionChecker pc = getPermissionChecker(); readLock(); try {