Hi, I Tested the following against linux server: 1. client 1: > > >>> open1 = os.open("/mnt/roi_test/var/nfs/export_top/test_for_readdir_deleg/file1.txt",os.O_RDWR) > > >>> open2 = os.open("/mnt/roi_test/var/nfs/export_top/test_for_readdir_deleg/file2.txt",os.O_RDWR) > > >>> open3 = os.open("/mnt/roi_test/var/nfs/export_top/test_for_readdir_deleg/file3.txt",os.O_RDWR) 2. client 2: [centos@rnd-nfs-c01 ~]$ stat /mnt/roi_test/var/nfs/export_top/test_for_readdir_deleg/ File: '/mnt/roi_test/var/nfs/export_top/test_for_readdir_deleg/' Size: 57 Blocks: 0 IO Block: 1048576 directory Device: 2fh/47d Inode: 33564533 Links: 2 Access: (0777/drwxrwxrwx) Uid: ( 1000/ centos) Gid: ( 1000/ centos) Access: 2024-12-25 21:51:41.103296943 +0200 Modify: 2024-12-25 21:51:40.160278216 +0200 Change: 2024-12-25 21:52:05.733786050 +0200 Birth: - [centos@rnd-nfs-c01 ~]$ ls -ltr /mnt/roi_test/var/nfs/export_top/test_for_readdir_deleg/ total 0 -rwxrwxrwx 1 centos centos 0 Dec 25 21:51 file2.txt -rwxrwxrwx 1 centos centos 0 Dec 25 21:51 file1.txt -rwxrwxrwx 1 centos centos 0 Dec 25 22:06 file3.txt I noticed in the pcap that the server doesn't wait for all CB_GETATTR responses for all childs before responding on READDIR, and for some reason also sends CB_RECALL. Any reason why to do so? Linux version: Linux protocol-linux-server 6.10.3-custom #1 SMP PREEMPT_DYNAMIC Mon Aug 12 12:42:22 IDT 2024 x86_64 x86_64 x86_64 GNU/Linux
Attachment:
nfs4_readdir.pcap
Description: Binary data
Attachment:
image.png
Description: PNG image