From: Kefu Chai Date: Mon, 7 Nov 2016 05:54:36 +0000 (+0800) Subject: common/blkdev: use readdir() as readdir_r() is deprecated X-Git-Tag: v11.1.0~314^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a802f6852915406db1e6a9a97ce2d212f649f200;p=ceph.git common/blkdev: 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/common/blkdev.cc b/src/common/blkdev.cc index 6df48656f840..90d6c3f923ca 100644 --- a/src/common/blkdev.cc +++ b/src/common/blkdev.cc @@ -64,8 +64,6 @@ int get_block_device_base(const char *dev, char *out, size_t out_len) { struct stat st; int r = 0; - char buf[PATH_MAX*2]; - struct dirent *de; DIR *dir; char devname[PATH_MAX], fn[PATH_MAX]; char *p; @@ -100,14 +98,8 @@ int get_block_device_base(const char *dev, char *out, size_t out_len) if (!dir) return -errno; - while (!::readdir_r(dir, reinterpret_cast(buf), &de)) { - if (!de) { - if (errno) { - r = -errno; - goto out; - } - break; - } + struct dirent *de = nullptr; + while ((de = ::readdir(dir))) { if (de->d_name[0] == '.') continue; snprintf(fn, sizeof(fn), "%s/sys/block/%s/%s", sandbox_dir, de->d_name,