Details
-
Bug
-
Resolution: Fixed
-
Minor
-
Lustre 2.7.0
-
3
-
17093
Description
q:lustre-release# git describe
2.6.92-55-g2bc5bcb
q:lustre-release# unset MDSCOUNT
q:lustre-release# llmount.sh
...
q:lustre-release# cd /mnt/lustre
q:lustre# mkdir d0
q:lustre# touch d0/f{0..1023}
q:lustre# strace -o /tmp/1 lfs find --size +4K .
./d0
q:lustre-release# awk -F'(' '{ print $1; }' /tmp/1 | sort | uniq -c
1 access
1 arch_prctl
3 brk
1034 close
1 execve
1 exit_group
1 fcntl
8 fstat
4 getdents
1 gettimeofday
3077 ioctl
1024 lstat
20 mmap
9 mprotect
2 munmap
1034 open
6 read
1 write
q:lustre-release# grep ioctl /tmp/1 | sort | uniq -c
1 ioctl(3, 0x800466af, 0x7ffff9778e00) = 0
1 ioctl(3, 0xc0086683, 0x7ffff9778890) = 0
1 ioctl(3, 0xc0086917, 0x2354040) = 0
1 ioctl(4, 0x800466af, 0x7ffff9778e00) = 0
1024 ioctl(4, 0xc00866a5, 0x2354040) = 0 # IOC_LOV_GETINFO
1024 ioctl(4, 0xc0086916, 0x2354040) = 0 # IOC_MDC_GETFILEINFO
1 ioctl(4, 0xc0086917, 0x2354040) = 0 # LL_IOC_MDC_GETINFO
1024 ioctl(5, 0x800466af, 0x7ffff9778e00) = 0 # LL_IOC_GET_MDTIDX
For each file returned by getdents on d0 we do:
ioctl(4, 0xc0086916, 0x2354040) = 0 # IOC_MDC_GETFILEINFO
lstat("./d0/f831", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
open("./d0/f831", O_RDONLY) = 5
ioctl(5, 0x800466af, 0x7ffff9778e00) = 0 # LL_IOC_GET_MDTIDX
close(5) = 0
ioctl(4, 0xc00866a5, 0x2354040) = 0 # IOC_LOV_GETINFO