Whamcloud - gitweb
LU-5 readdir read multiple pages per rpc
add support for readdir to read multiple pages per rpc:
* because client has no idea how many directory pages it can read, it
tries to read maximum pages each time, but will only store pages
read from mds into page cache.
* add a flag LDF_COLLIDE to mark a dir page hash collides with the
next page, and client will remove this page from page cache after
processing.
* upon readpage bulk io failure, client won't be evicted, and client
will resend the bulk request.
* support large page size on client: MDS_READPAGE RPC will fill reply
with page size LU_PAGE_SIZE(4k), and if client page is bigger than
LU_PAGE_SIZE, several pages will be integrated into one dir page with
CFS_PAGE_SIZE.
Signed-off-by: Lai Siyao <laisiyao@whamcloud.com>
Change-Id: Id6bc36fbcec79993d49bbe9a535851e5e3ebd876
Reviewed-on: http://review.whamcloud.com/604
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Fan Yong <yong.fan@whamcloud.com>
27 files changed: