Commit 05ac9d4b authored by OGAWA Hirofumi's avatar OGAWA Hirofumi Committed by Linus Torvalds

[PATCH] cifs: ->readpages() fixes

This just ignore the remaining pages, and will fix a forgot put_pages_list().
Signed-off-by: default avatarOGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Cc: Steven French <sfrench@us.ibm.com>
Cc: Miklos Szeredi <miklos@szeredi.hu>
Cc: Steven Whitehouse <swhiteho@redhat.com>
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 029e332e
...@@ -1806,13 +1806,6 @@ static int cifs_readpages(struct file *file, struct address_space *mapping, ...@@ -1806,13 +1806,6 @@ static int cifs_readpages(struct file *file, struct address_space *mapping,
} }
if ((rc < 0) || (smb_read_data == NULL)) { if ((rc < 0) || (smb_read_data == NULL)) {
cFYI(1, ("Read error in readpages: %d", rc)); cFYI(1, ("Read error in readpages: %d", rc));
/* clean up remaing pages off list */
while (!list_empty(page_list) && (i < num_pages)) {
page = list_entry(page_list->prev, struct page,
lru);
list_del(&page->lru);
page_cache_release(page);
}
break; break;
} else if (bytes_read > 0) { } else if (bytes_read > 0) {
pSMBr = (struct smb_com_read_rsp *)smb_read_data; pSMBr = (struct smb_com_read_rsp *)smb_read_data;
...@@ -1831,13 +1824,7 @@ static int cifs_readpages(struct file *file, struct address_space *mapping, ...@@ -1831,13 +1824,7 @@ static int cifs_readpages(struct file *file, struct address_space *mapping,
this case is ok - if we are at server EOF this case is ok - if we are at server EOF
we will hit it on next read */ we will hit it on next read */
/* while (!list_empty(page_list) && (i < num_pages)) { /* break; */
page = list_entry(page_list->prev,
struct page, list);
list_del(&page->list);
page_cache_release(page);
}
break; */
} }
} else { } else {
cFYI(1, ("No bytes read (%d) at offset %lld . " cFYI(1, ("No bytes read (%d) at offset %lld . "
...@@ -1845,14 +1832,6 @@ static int cifs_readpages(struct file *file, struct address_space *mapping, ...@@ -1845,14 +1832,6 @@ static int cifs_readpages(struct file *file, struct address_space *mapping,
bytes_read, offset)); bytes_read, offset));
/* BB turn off caching and do new lookup on /* BB turn off caching and do new lookup on
file size at server? */ file size at server? */
while (!list_empty(page_list) && (i < num_pages)) {
page = list_entry(page_list->prev, struct page,
lru);
list_del(&page->lru);
/* BB removeme - replace with zero of page? */
page_cache_release(page);
}
break; break;
} }
if (smb_read_data) { if (smb_read_data) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment