On 12/17/2010 08:38 PM, Jeff Layton wrote: > 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. > > Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx> > --- > fs/cifs/file.c | 49 +++++++++++++++++++++++++++++++++++++------------ > 1 files changed, 37 insertions(+), 12 deletions(-) > Looks good to me. Reviewed-by: Suresh Jayaraman <sjayaraman@xxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-cifs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html