From 108d7982cc4d3b3e3f3e07e38494f350d08925e0 Mon Sep 17 00:00:00 2001 From: Trond Myklebust Date: Wed, 23 Mar 2011 08:43:09 -0400 Subject: [PATCH] --- yaml --- r: 242407 b: refs/heads/master c: e47c085afb3d16cbc6a4bfb10a3b074bb7c58998 h: refs/heads/master i: 242405: ec01d3fc5e838466ac0680359260e33a8fb743a7 242403: 5e5f36b75957ad95ace93010141a9d8919679db2 242399: 1e192e4e7cf2e6f9ae17e8ea47be116fb4e6cc03 v: v3 --- [refs] | 2 +- trunk/fs/nfs/dir.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index f06eff9c0a5d..410ece747433 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 51e816564db151f7f08c739ad69b9d1dbd166663 +refs/heads/master: e47c085afb3d16cbc6a4bfb10a3b074bb7c58998 diff --git a/trunk/fs/nfs/dir.c b/trunk/fs/nfs/dir.c index 2c3eb33b904d..c5c71cb62fbd 100644 --- a/trunk/fs/nfs/dir.c +++ b/trunk/fs/nfs/dir.c @@ -290,7 +290,6 @@ int nfs_readdir_search_for_pos(struct nfs_cache_array *array, nfs_readdir_descri if (diff >= array->size) { if (array->eof_index >= 0) goto out_eof; - desc->current_index += array->size; return -EAGAIN; } @@ -311,6 +310,7 @@ int nfs_readdir_search_for_cookie(struct nfs_cache_array *array, nfs_readdir_des for (i = 0; i < array->size; i++) { if (array->array[i].cookie == *desc->dir_cookie) { + desc->file->f_pos = desc->current_index + i; desc->cache_entry_index = i; return 0; } @@ -342,6 +342,7 @@ int nfs_readdir_search_array(nfs_readdir_descriptor_t *desc) if (status == -EAGAIN) { desc->last_cookie = array->last_cookie; + desc->current_index += array->size; desc->page_index++; } nfs_readdir_release_array(desc->page);