From: Yan, Zheng Date: Mon, 8 Apr 2019 03:28:32 +0000 (+0800) Subject: client: check sync write error X-Git-Tag: v15.2.5~24^2~5 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=61676b1ff2c67978778a956d6efb0f97f6521e98;p=ceph.git client: check sync write error Signed-off-by: "Yan, Zheng" (cherry picked from commit 2cf6184e41f8364f79fb3adda737f21c9ee149f6) --- diff --git a/src/client/Client.cc b/src/client/Client.cc index 7eb574634fe8..c0f43e0f135d 100644 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -9755,9 +9755,11 @@ int64_t Client::_write(Fh *f, int64_t offset, uint64_t size, const char *buf, in->truncate_size, in->truncate_seq, &onfinish); client_lock.unlock(); - onfinish.wait(); + r = onfinish.wait(); client_lock.lock(); _sync_write_commit(in); + if (r < 0) + goto done; } // if we get here, write was successful, update client metadata