You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by cd...@apache.org on 2009/05/07 03:46:06 UTC

svn commit: r772483 - in /hadoop/core/branches/branch-0.20: CHANGES.txt src/c++/libhdfs/hdfs.c

Author: cdouglas
Date: Thu May  7 01:46:05 2009
New Revision: 772483

URL: http://svn.apache.org/viewvc?rev=772483&view=rev
Log:
HADOOP-5579. Set errno correctly in libhdfs for permission, quota, and FNF
conditions. Contributed by Brian Bockelman

Modified:
    hadoop/core/branches/branch-0.20/CHANGES.txt
    hadoop/core/branches/branch-0.20/src/c++/libhdfs/hdfs.c

Modified: hadoop/core/branches/branch-0.20/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/core/branches/branch-0.20/CHANGES.txt?rev=772483&r1=772482&r2=772483&view=diff
==============================================================================
--- hadoop/core/branches/branch-0.20/CHANGES.txt (original)
+++ hadoop/core/branches/branch-0.20/CHANGES.txt Thu May  7 01:46:05 2009
@@ -997,6 +997,9 @@
     HADOOP-5671. Fix FNF exceptions when copying from old versions of
     HftpFileSystem. (Tsz Wo (Nicholas), SZE via cdouglas)
 
+    HADOOP-5579. Set errno correctly in libhdfs for permission, quota, and FNF
+    conditions. (Brian Bockelman via cdouglas)
+
 Release 0.19.1 - 2009-02-23 
 
   IMPROVEMENTS

Modified: hadoop/core/branches/branch-0.20/src/c++/libhdfs/hdfs.c
URL: http://svn.apache.org/viewvc/hadoop/core/branches/branch-0.20/src/c%2B%2B/libhdfs/hdfs.c?rev=772483&r1=772482&r2=772483&view=diff
==============================================================================
--- hadoop/core/branches/branch-0.20/src/c++/libhdfs/hdfs.c (original)
+++ hadoop/core/branches/branch-0.20/src/c++/libhdfs/hdfs.c Thu May  7 01:46:05 2009
@@ -124,12 +124,23 @@
       goto done;
     }
 
-    if (!strcmp(excClass, "org.apache.hadoop.fs.permission."
+    if (!strcmp(excClass, "org.apache.hadoop.security."
                 "AccessControlException")) {
         errnum = EACCES;
         goto done;
     }
 
+    if (!strcmp(excClass, "org.apache.hadoop.hdfs.protocol."
+                "QuotaExceededException")) {
+        errnum = EDQUOT;
+        goto done;
+    }
+
+    if (!strcmp(excClass, "java.io.FileNotFoundException")) {
+        errnum = ENOENT;
+        goto done;
+    }
+
     //TODO: interpret more exceptions; maybe examine exc.getMessage()
 
 default_error: