filemap_fdatawait_range() will always return 0, after patch 
6c984083ec24
("NFS: Use of mapping_set_error() results in spurious errors"), it will not
save the wb err in struct address_space->flags:
  result = filemap_fdatawait_range(file->f_mapping, ...) = 0
    filemap_check_errors(mapping) = 0
      test_bit(..., &mapping->flags) // flags is 0
Signed-off-by: ChenXiaoSong <chenxiaosong2@huawei.com>
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
                result = filemap_fdatawait_range(file->f_mapping,
                                                 iocb->ki_pos - written,
                                                 iocb->ki_pos - 1);
-               if (result < 0)
-                       goto out;
        }
        result = generic_write_sync(iocb, written);
        if (result < 0)