summaryrefslogtreecommitdiff
path: root/fs/cifs/readdir.c
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2008-05-23 16:53:23 +1000
committerPaul Mackerras <paulus@samba.org>2008-05-23 16:53:23 +1000
commitacf464817d5e7be9fb67aec4027dbee0ac9be17a (patch)
tree39fd061c0a91a11d3ae4ff19b7fe179325e39bbf /fs/cifs/readdir.c
parent80d267f9aee6f1b5df602b5a19fb7b4923f17db2 (diff)
parent8962cadbe7cbc4ed0fff94f56ebab505a10afd2e (diff)
downloadlinux-next-acf464817d5e7be9fb67aec4027dbee0ac9be17a.tar.gz
Merge branch 'merge' into powerpc-next
Diffstat (limited to 'fs/cifs/readdir.c')
-rw-r--r--fs/cifs/readdir.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/fs/cifs/readdir.c b/fs/cifs/readdir.c
index 34ec32100c72..713c25110197 100644
--- a/fs/cifs/readdir.c
+++ b/fs/cifs/readdir.c
@@ -670,8 +670,11 @@ static int find_cifs_entry(const int xid, struct cifsTconInfo *pTcon,
(index_to_find < first_entry_in_buffer)) {
/* close and restart search */
cFYI(1, ("search backing up - close and restart search"));
- cifsFile->invalidHandle = true;
- CIFSFindClose(xid, pTcon, cifsFile->netfid);
+ if (!cifsFile->srch_inf.endOfSearch &&
+ !cifsFile->invalidHandle) {
+ cifsFile->invalidHandle = true;
+ CIFSFindClose(xid, pTcon, cifsFile->netfid);
+ }
kfree(cifsFile->search_resume_name);
cifsFile->search_resume_name = NULL;
if (cifsFile->srch_inf.ntwrk_buf_start) {