[linux-cifs-client] Incorrect FIND_NEXT2 request

Richard Hughes richard at hughsie.com
Sun May 2 12:20:57 GMT 2004


I have a directory on a samba server sharing lots of small
files, say dir000.txt to dir999.txt

samba version (server): 3.0.3-2.pre2
cifs version (client) : 1.12
kernel version (client) : 2.6.6rc3 + CIFS-cvs

The share mounts correctly, and correctly displays small directory
outputs, but when a large number of files are present, it displays:
dir000.txt to dir122.txt and nothing more.

I used ethereal to trace the network activity, and found the following..

[client types ls]
client->server QUERY_PATH_INFO, Query File Unix Basic, Path : 
server->server QUERY_PATH_INFO
client->server FIND_FIRST2, Pattern: \*
server->server FIND_FIRST2, Files:[....]
client->server FIND_NEXT2, Continue: dir060.txt
server->server FIND_NEXT2, Files:[....]
client->server FIND_NEXT2, Continue: [\001]
server->server FIND_NEXT2

then the connection closes.

The second request for FIND_NEXT2 just sends 0x001, rather than the file
dir122.txt - this must be a bug in the cifs code somewhere. Anybody got
any ideas?

Google brought up some details about truncated directory listings for the
2.4 kernel, but that was some time ago.

 Richard Hughes





More information about the linux-cifs-client mailing list