From: Kefu Chai Date: Mon, 7 Nov 2016 05:53:48 +0000 (+0800) Subject: objclass:: use readdir() as readdir_r() is deprecated X-Git-Tag: v11.1.0~314^2~4 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=8064206f70bbc6f736dfacfe11e198be0e79d68e;p=ceph.git objclass:: use readdir() as readdir_r() is deprecated see https://lwn.net/Articles/696469/, readdir_r() is deprecated by glibc since 2.24. so let's use readdir() instead. Signed-off-by: Kefu Chai --- diff --git a/src/osd/ClassHandler.cc b/src/osd/ClassHandler.cc index 25d1565a1394..045683b780e0 100644 --- a/src/osd/ClassHandler.cc +++ b/src/osd/ClassHandler.cc @@ -48,10 +48,9 @@ int ClassHandler::open_all_classes() if (!dir) return -errno; - char buf[offsetof(struct dirent, d_name) + PATH_MAX + 1]; - struct dirent *pde; + struct dirent *pde = nullptr; int r = 0; - while ((r = ::readdir_r(dir, (dirent *)&buf, &pde)) == 0 && pde) { + while ((pde = ::readdir(dir))) { if (pde->d_name[0] == '.') continue; if (strlen(pde->d_name) > sizeof(CLS_PREFIX) - 1 + sizeof(CLS_SUFFIX) - 1 &&