HADOOP-12718. Incorrect error message by fs -put local dir without permission. (John Zhuge via Yongjun Zhang)

(cherry picked from commit 97056c3355)
This commit is contained in:
Yongjun Zhang 2016-01-27 08:04:25 -08:00
parent b6fe3c20c5
commit 62206dd2ed
2 changed files with 8 additions and 0 deletions

View File

@ -961,6 +961,9 @@ Release 2.8.0 - UNRELEASED
HADOOP-12731. Remove useless boxing/unboxing code. HADOOP-12731. Remove useless boxing/unboxing code.
(Kousuke Saruta via aajisaka) (Kousuke Saruta via aajisaka)
HADOOP-12718. Incorrect error message by fs -put local dir without
permission. (John Zhuge via Yongjun Zhang)
Release 2.7.3 - UNRELEASED Release 2.7.3 - UNRELEASED
INCOMPATIBLE CHANGES INCOMPATIBLE CHANGES

View File

@ -33,6 +33,7 @@ import java.io.OutputStream;
import java.io.FileDescriptor; import java.io.FileDescriptor;
import java.net.URI; import java.net.URI;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.nio.file.AccessDeniedException;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.NoSuchFileException; import java.nio.file.NoSuchFileException;
import java.nio.file.attribute.BasicFileAttributes; import java.nio.file.attribute.BasicFileAttributes;
@ -450,6 +451,10 @@ public class RawLocalFileSystem extends FileSystem {
if (localf.isDirectory()) { if (localf.isDirectory()) {
String[] names = localf.list(); String[] names = localf.list();
if (names == null) { if (names == null) {
if (!localf.canRead()) {
throw new AccessDeniedException("cannot open directory " + f +
": Permission denied");
}
return null; return null;
} }
results = new FileStatus[names.length]; results = new FileStatus[names.length];