--- 6fed6ccbf68949eae40ece1c2506694c770bf729 +++ 99545e263b01d38da1b9a9ad447c6de9f8aeeb2e @@ -220,7 +220,7 @@ static int nfs_do_fsync(struct nfs_open_ have_error |= test_bit(NFS_CONTEXT_ERROR_WRITE, &ctx->flags); if (have_error) ret = xchg(&ctx->error, 0); - if (!ret) + if (!ret && status < 0) ret = status; return ret; }