From e5cc8c2e1aa98967db84ce90eeba4269e4dd635c Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Sun, 15 Mar 2020 10:46:04 +0800 Subject: [PATCH] pybind/cephfs: support MacOS like FreeBSD, dentry on MacOS does not have `d_off` field Signed-off-by: Kefu Chai --- src/pybind/cephfs/cephfs.pyx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/pybind/cephfs/cephfs.pyx b/src/pybind/cephfs/cephfs.pyx index 904ff177481..ef092e62431 100644 --- a/src/pybind/cephfs/cephfs.pyx +++ b/src/pybind/cephfs/cephfs.pyx @@ -68,7 +68,7 @@ cdef extern from "sys/statvfs.h": unsigned long int f_padding[32] -IF UNAME_SYSNAME == "FreeBSD": +IF UNAME_SYSNAME == "FreeBSD" or UNAME_SYSNAME == "Darwin": cdef extern from "dirent.h": cdef struct dirent: long int d_ino @@ -371,14 +371,14 @@ cdef class DirResult(object): if not dirent: return None - IF UNAME_SYSNAME == "FreeBSD": + IF UNAME_SYSNAME == "FreeBSD" or UNAME_SYSNAME == "Darwin": return DirEntry(d_ino=dirent.d_ino, d_off=0, d_reclen=dirent.d_reclen, d_type=dirent.d_type, d_name=dirent.d_name) ELSE: - return DirEntry(d_ino=dirent.d_ino, + return DirEntry(d_ino=dirent.d_ino, d_off=dirent.d_off, d_reclen=dirent.d_reclen, d_type=dirent.d_type, -- 2.39.5