[PATCH] cifs: ->readpages() fixes
This just ignore the remaining pages, and will fix a forgot put_pages_list(). Signed-off-by: OGAWA 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: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
029e332ea7
commit
05ac9d4b3d
1 changed files with 1 additions and 22 deletions
|
@ -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,
|
||||||
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,
|
||||||
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) {
|
||||||
|
|
Loading…
Reference in a new issue