orangefs: support very large directories
authorMartin Brandenburg <martin@omnibond.com>
Tue, 25 Apr 2017 19:38:01 +0000 (15:38 -0400)
committerMike Marshall <hubcap@omnibond.com>
Wed, 26 Apr 2017 18:33:00 +0000 (14:33 -0400)
commit480e3e532e31666a18520a7964bb4095d7a16b9a
treeedcec6a27fb1f98f50e9435134999d204dd669c6
parent72f66b8329310b810dc9b70b08af728812d2e6c1
orangefs: support very large directories

This works by maintaining a linked list of pages which the directory
has been read into rather than one giant fixed-size buffer.

This replaces code which limits the total directory size to the total
amount that could be returned in one server request.  Since filenames
are usually considerably shorter than the maximum, the old code could
usually handle several server requests before running out of space.

Signed-off-by: Martin Brandenburg <martin@omnibond.com>
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
fs/orangefs/dir.c