From: Mykola Golub Date: Tue, 27 Feb 2018 14:47:12 +0000 (+0200) Subject: librbd: fix exit tracepoint leaks X-Git-Tag: v13.0.2~120^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=3b3266b71b5d25005e0824865d2e9406026697d9;p=ceph.git librbd: fix exit tracepoint leaks Signed-off-by: Mykola Golub --- diff --git a/src/librbd/librbd.cc b/src/librbd/librbd.cc index 6f13e5087ad..d5fb9da11bf 100644 --- a/src/librbd/librbd.cc +++ b/src/librbd/librbd.cc @@ -2420,8 +2420,10 @@ extern "C" int rbd_list(rados_ioctx_t p, char *names, size_t *size) return -ERANGE; } - if (!names) + if (names == NULL) { + tracepoint(librbd, list_exit, -EINVAL, *size); return -EINVAL; + } for (int i = 0; i < (int)cpp_names.size(); i++) { const char* name = cpp_names[i].c_str(); @@ -4525,8 +4527,10 @@ extern "C" int rbd_group_list(rados_ioctx_t p, char *names, size_t *size) return -ERANGE; } - if (!names) + if (names == NULL) { + tracepoint(librbd, group_list_exit, -EINVAL); return -EINVAL; + } names[expected_size] = '\0'; for (int i = 0; i < (int)cpp_names.size(); i++) { @@ -4872,6 +4876,7 @@ extern "C" int rbd_watchers_list(rbd_image_t image, tracepoint(librbd, list_watchers_enter, ictx, ictx->name.c_str(), ictx->snap_name.c_str(), ictx->read_only); int r = librbd::list_watchers(ictx, watcher_list); if (r < 0) { + tracepoint(librbd, list_watchers_exit, r, 0); return r; }