John Garry [john.ga...@huawei.com] wrote: > On 13/03/2018 20:10, Sukadev Bhattiprolu wrote: > > > Hi John, > > > > I have an xfs file system which seems to have d_type == DT_UNKNOWN for all > > entries in 'tools/perf/pmu-events/arch/power8'! readdir(3) says ->d_type > > may not be supported by all file systems. > > > > Not relying on ->d_type seems to fix it: > > > > Hi Sukadev, > > Thanks for debugging this. Jiri Olsa (cc'ed) warned me on this, so I did add > the check for d_type == DT_UNKNOWN. > > But, if all files have d_type == DT_UNKNOWN, you're code would from visual > observation look to be same as mine (apart from check for '.' or '..' > filename, which I would say is already covered by stat() and S_ISDIR()). Or > is d_type value just unreliable?
In the current code and with DT_UNKNOWN, is_leaf_dir() returns false when it sees the "." or ".." entries right? In the new code, we skip those and return false only if we find some other directory. Thanks, Sukadev