[Samba] Missing Files/Missing Folders from an NFS Share
jra at samba.org
Wed Feb 15 17:48:10 UTC 2023
On Wed, Feb 15, 2023 at 02:06:38PM +0100, Conor Armstrong via samba wrote:
>I'm having trouble with a samba share of a folder. When the number of
>entries in the folder is large, then large numbers of entries are missing
>when viewed from a Windows 10 client. For example a folder with 5000 sub
>folders, only about 550 show up.
>If I share an identical folder, which is backed on local block storage on
>the server all the folders appear as expected on the windows client.
>If I access the share locally on the server using smbclient, then I can see
>all the folders as expected.
>It is not a permissions issue - there is full read/write for owner, group &
>world on all folders, parent folder etc. Also, folder names are not long -
>just a 4 digit number.
>The server is Unbuntu 22.04 and the Samba version is 4.15.13.
>I have run the server at Debug Level 10 and captured the logs of the folder
>mounted via an NFS share and then compare it to the same folder mounted
>from a local block storage device, I can see that the error seems to be
>arising within the smbd_marshall_dir_entry function in trans2.c as follows:
>[2023/02/15 00:03:11.268209, 9, pid=2573823, efective(33, 33), real(33,
> smbd_marshall_dir_entry: out of space (wanted 112, had 8)
This error isn't a "fatal" error. It's just informational
(and internal) meaning we're going to return STATUS_MORE_ENTRIES.
The client should just keep issuing findnext requests until
the enumeration is finished. This message may be a red herring.
>I have looked at the source code and it appears to be the size of the
>*in_output_buffer* is too small. Not yet sure where that buffer is
>allocated and why it would be sufficient for a share from block storage and
>not one from an NFS share when the contents of both are identical.
That buffer almost certainly not the problem. To debug
this, get a comparative wireshark trace between "working"
to local storage and "failing" to NFS storage and look
at the findfirst/findnext calls.
But as Rowland already said, Samba over NFS isn't a great
idea. Maybe put Samba on the NFS server ? Or upgrade to
More information about the samba