CIFS: Fix readpages retrying on reconnects
authorPavel Shilovsky <pshilovsky@samba.org>
Thu, 2 Oct 2014 16:13:35 +0000 (20:13 +0400)
committerSteve French <smfrench@gmail.com>
Thu, 2 Oct 2014 19:17:41 +0000 (14:17 -0500)
commit1209bbdff2f6bbffa6eb5823033bbd7b8799a5e2
treeaf0f44e0266ad9b4e36a2b2eb37e781b72d3288f
parent19e81573fca7b87ced7701e01ba164b968d929bd
CIFS: Fix readpages retrying on reconnects

If we got a reconnect error from async readv we re-add pages back
to page_list and continue loop. That is wrong because these pages
have been already added to the pagecache but page_list has pages that
have not been added to the pagecache yet. This ends up with a general
protection fault in put_pages after readpages. Fix it by not retrying
the read of these pages and falling back to readpage instead.

Fixes debian bug 762306

Signed-off-by: Pavel Shilovsky <pshilovsky@samba.org>
Signed-off-by: Steve French <smfrench@gmail.com>
Tested-by: Arthur Marsh <arthur.marsh@internode.on.net>
fs/cifs/file.c