diff --git a/fs/orangefs/dir.c b/fs/orangefs/dir.c index cac601498925febed61febf6aa574843c942e55c..d327cbd17756dcbc18ca787602e436c24e70d198 100644 --- a/fs/orangefs/dir.c +++ b/fs/orangefs/dir.c @@ -135,9 +135,12 @@ static int parse_readdir(struct orangefs_dir *od, count = 1; part = od->part; - while (part && part->next) { - part = part->next; + while (part) { count++; + if (part->next) + part = part->next; + else + break; } new = (void *)op->downcall.trailer_buf;