diff --git a/fs/netfs/direct_write.c b/fs/netfs/direct_write.c index 25f8ceb15fad..2d5361702076 100644 --- a/fs/netfs/direct_write.c +++ b/fs/netfs/direct_write.c @@ -115,8 +115,9 @@ static int netfs_unbuffered_write(struct netfs_io_request *wreq) /* Check if (re-)preparation failed. */ if (unlikely(test_bit(NETFS_SREQ_FAILED, &subreq->flags))) { - netfs_write_subrequest_terminated(subreq, subreq->error); - wreq->error = subreq->error; + ret = subreq->error; + wreq->error = ret; + netfs_write_subrequest_terminated(subreq, ret); break; }