On 13/03/2018 21:18, Sukadev Bhattiprolu wrote:
John Garry [john.garry@xxxxxxxxxx] 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.
OK, that's the real issue, being the "." and ".." entries.
@Arnaldo, I'll try to send a fix for this today. I just need to make an
xfs to test. Sorry for the hassle.
John
Thanks,
Sukadev