From 888910d26019aaf3585007a11d48e236bcac4c01 Mon Sep 17 00:00:00 2001 From: Patrick Donnelly Date: Wed, 2 Nov 2016 09:18:50 -0400 Subject: [PATCH] client: remove unnecessary bufferptr[] for writev Signed-off-by: Patrick Donnelly --- src/client/Client.cc | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/src/client/Client.cc b/src/client/Client.cc index 202478b4b014..4c97d8a8796a 100644 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -8813,20 +8813,15 @@ int Client::_write(Fh *f, int64_t offset, uint64_t size, const char *buf, // copy into fresh buffer (since our write may be resub, async) bufferlist bl; - bufferptr *bparr = NULL; if (buf) { - bufferptr bp; - if (size > 0) bp = buffer::copy(buf, size); - bl.push_back( bp ); + if (size > 0) + bl.append(buf, size); } else if (iov){ - //iov case - bparr = new bufferptr[iovcnt]; - for (int i = 0; i < iovcnt; i++) { - if (iov[i].iov_len > 0) { - bparr[i] = buffer::copy((char*)iov[i].iov_base, iov[i].iov_len); - } - bl.push_back( bparr[i] ); + for (int i = 0; i < iovcnt; i++) { + if (iov[i].iov_len > 0) { + bl.append((const char *)iov[i].iov_base, iov[i].iov_len); } + } } utime_t lat; @@ -8834,7 +8829,6 @@ int Client::_write(Fh *f, int64_t offset, uint64_t size, const char *buf, int have; int r = get_caps(in, CEPH_CAP_FILE_WR, CEPH_CAP_FILE_BUFFER, &have, endoff); if (r < 0) { - delete[] bparr; return r; } @@ -8983,7 +8977,6 @@ done: } put_cap_ref(in, CEPH_CAP_FILE_WR); - delete[] bparr; return r; } -- 2.47.3