aboutsummaryrefslogtreecommitdiffstats
path: root/fs/cifs/connect.c
diff options
context:
space:
mode:
authorJeff Layton <jlayton@redhat.com>2011-01-11 07:24:01 -0500
committerSteve French <sfrench@us.ibm.com>2011-01-19 17:52:29 +0000
commit941b853d779de3298e39f1eb4e252984464eaea8 (patch)
treea1e41bb06debf22349f010a1c9427c9b89bb79b4 /fs/cifs/connect.c
parentCIFS: Fix oplock break handling (try #2) (diff)
downloadlinux-dev-941b853d779de3298e39f1eb4e252984464eaea8.tar.xz
linux-dev-941b853d779de3298e39f1eb4e252984464eaea8.zip
cifs: don't fail writepages on -EAGAIN errors
If CIFSSMBWrite2 returns -EAGAIN, then the error should be considered temporary. CIFS should retry the write instead of setting an error on the mapping and returning. For WB_SYNC_ALL, just retry the write immediately. In the WB_SYNC_NONE case, call redirty_page_for_writeback on all of the pages that didn't get written out and then move on. Also, fix up the handling of a short write with a successful return code. MS-CIFS says that 0 bytes_written means ENOSPC or EFBIG. It doesn't mention what a short, but non-zero write means, so for now treat it as we would an -EAGAIN return. Reviewed-by: Suresh Jayaraman <sjayaraman@suse.de> Reviewed-by: Pavel Shilovsky <piastryyy@gmail.com> Signed-off-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'fs/cifs/connect.c')
0 files changed, 0 insertions, 0 deletions