]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commitd6c5319c9d3782dc0b5fe28ddb4cbba807a9b8cc
treeedcec6a27fb1f98f50e9435134999d204dd669c6
parentb0cc2f47ec7a36c34ccf75b6244cf3af22f806a6
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