HDFS-7356. Use DirectoryListing.hasMore() directly in nfs. Contributed by Li Lu.

This commit is contained in:
Jing Zhao 2014-11-04 15:04:26 -08:00
parent ad21d28e07
commit 27f106e226
2 changed files with 4 additions and 4 deletions

View File

@ -1584,8 +1584,7 @@ public READDIR3Response readdir(XDR xdr, SecurityHandler securityHandler,
*/
HdfsFileStatus[] fstatus = dlisting.getPartialListing();
int n = (int) Math.min(fstatus.length, count-2);
boolean eof = (n < fstatus.length) ? false : (dlisting
.getRemainingEntries() == 0);
boolean eof = (n >= fstatus.length) && !dlisting.hasMore();
Entry3[] entries;
if (cookie == 0) {
@ -1733,8 +1732,7 @@ READDIRPLUS3Response readdirplus(XDR xdr, SecurityHandler securityHandler,
// Set up the dirents in the response
HdfsFileStatus[] fstatus = dlisting.getPartialListing();
int n = (int) Math.min(fstatus.length, dirCount-2);
boolean eof = (n < fstatus.length) ? false : (dlisting
.getRemainingEntries() == 0);
boolean eof = (n >= fstatus.length) && !dlisting.hasMore();
READDIRPLUS3Response.EntryPlus3[] entries;
if (cookie == 0) {

View File

@ -331,6 +331,8 @@ Release 2.7.0 - UNRELEASED
HDFS-6917. Add an hdfs debug command to validate blocks, call recoverlease,
etc. (cmccabe)
HDFS-7356. Use DirectoryListing.hasMore() directly in nfs. (Li Lu via jing9)
OPTIMIZATIONS
BUG FIXES