rgw: check client write status on swift get_obj

Fixes: #3381
We check the return code of the cio->write() operation
when doing get_obj(). This makes sure that we don't
continue processing the request if client has disconnected.
This commit complements another commit that does the same
for the specific s3 operation.

backport: argonaut
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
This commit is contained in:
Yehuda Sadeh 2012-10-22 12:41:30 -07:00
parent a75567479c
commit 3cc39f558d

View File

@ -492,7 +492,9 @@ int RGWGetObj_ObjStore_SWIFT::send_response(bufferlist& bl)
send_data:
if (get_data && !orig_ret) {
s->cio->write(bl.c_str(), len);
int r = s->cio->write(bl.c_str(), len);
if (r < 0)
return r;
}
rgw_flush_formatter_and_reset(s, s->formatter);