Conor Armstrong
2023-Feb-15 13:06 UTC
[Samba] Missing Files/Missing Folders from an NFS Share
Folks 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, 0)] ../../source3/smbd/trans2.c:2426(smbd_marshall_dir_entry) smbd_marshall_dir_entry: out of space (wanted 112, had 8) 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. Any help appreciated on how to either fix or bypass. Many thanks Conor The smb.conf file is as follows: [global] workgroup = WORKGROUP server string = Samba Server %v netbios name = ubuntu security = user map to guest = bad user dns proxy = no dfree command = /etc/samba/samba-dfree dfree cache time = 60 #============================ Share Definitions ============================= [block_share] path = /mnt/ebs/home/REDACTED browsable =no writable = yes guest ok = yes read only = no [nfs_share] path = /mnt/efs/home/REDACTED browsable =no writable = yes guest ok = yes read only = no Log file for the nfs share (MISSING FILES).is as follows: 1 [2023/02/15 00:03:11.175077, 4, pid=2573823, effective(33, 33), real(33, 0), class=vfs] ../../source3/smbd/vfs.c:938(vfs_ChDir) 2 vfs_ChDir to /mnt/efs/home/REDACTED 3 [2023/02/15 00:03:11.175098, 5, pid=2573823, effective(33, 33), real(33, 0), class=vfs] ../../source3/smbd/vfs.c:1000(vfs_ChDir) 4 vfs_ChDir: vfs_ChDir got /mnt/efs/home/REDACTED 5 [2023/02/15 00:03:11.175112, 5, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/uid.c:294(print_impersonation_info) 6 print_impersonation_info: Impersonated user: uid=(33,33), gid=(0,33), cwd=[/mnt/efs/home/REDACTED] 7 [2023/02/15 00:03:11.175124, 10, pid=2573823, effective(33, 33), real(33, 0), class=smb2] ../../source3/smbd/smb2_query_directory.c:98(smbd_smb2_request_process_query_directory) 8 smbd_smb2_request_find_done: in_output_buffer_length = 65536 9 [2023/02/15 00:03:11.175135, 10, pid=2573823, effective(33, 33), real(33, 0), class=smb2] ../../source3/smbd/smb2_query_directory.c:289(smbd_smb2_query_directory_send) 10 smbd_smb2_query_directory_send: . - fnum 1174090446 11 [2023/02/15 00:03:11.175146, 10, pid=2573823, effective(33, 33), real(33, 0), class=smb2_credits] ../../source3/smbd/smb2_server.c:2646(smbd_smb2_request_verify_creditcharge) 12 smbd_smb2_request_verify_creditcharge: mid 53, CreditCharge: 1, NeededCharge: 1 13 [2023/02/15 00:03:11.175156, 5, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/dir.c:217(dptr_create) 14 dptr_create: dir=. 15 [2023/02/15 00:03:11.175192, 5, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/dir.c:318(dptr_create) 16 dptr_create: creating new dirptr [0] for path [.], expect_close = 0 17 [2023/02/15 00:03:11.175203, 8, pid=2573823, effective(33, 33), real(33, 0), class=smb2] ../../source3/smbd/smb2_query_directory.c:465(smbd_smb2_query_directory_send) 18 smbd_smb2_query_directory_send: dirpath=<.> dontdescend=<>, in_output_buffer_length = 65528 19 [2023/02/15 00:03:11.175219, 6, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/dir.c:792(smbd_dirptr_get_entry) 20 smbd_dirptr_get_entry: dirptr 0x5586360f2220 now at offset 0 21 [2023/02/15 00:03:11.175234, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/files.c:448(openat_pathref_fsp) 22 openat_pathref_fsp: smb_fname [.] 23 [2023/02/15 00:03:11.175244, 5, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/files.c:74(fsp_new) 24 fsp_new: allocated files structure (8 used) 25 [2023/02/15 00:03:11.175254, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/files.c:1380(file_name_hash) 26 file_name_hash: /mnt/efs/home/REDACTED/. hash 0x5fc870f7 27 [2023/02/15 00:03:11.175268, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/open.c:934(fd_openat) 28 fd_openat: name ., flags = 0200000 mode = 00, fd = 45 29 [2023/02/15 00:03:11.175278, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/files.c:565(openat_pathref_fsp) 30 openat_pathref_fsp: fsp [.]: OK 31 [2023/02/15 00:03:11.175288, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/dosmode.c:742(fdos_mode) 32 fdos_mode: . 33 [2023/02/15 00:03:11.175304, 5, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/dosmode.c:396(fget_ea_dos_attribute) 34 fget_ea_dos_attribute: Cannot get attribute from EA on file .: Error = Operation not supported 35 [2023/02/15 00:03:11.175315, 5, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/dosmode.c:68(dos_mode_debug_print) 36 dos_mode_debug_print: fdos_mode returning (0x10): "d" 37 [2023/02/15 00:03:11.175325, 3, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/dir.c:1031(smbd_dirptr_get_entry) 38 smbd_dirptr_get_entry mask=[*] found . fname=. (.) 39 [2023/02/15 00:03:11.175339, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/trans2.c:1842(smbd_marshall_dir_entry) 40 smbd_marshall_dir_entry: space_remaining = 65528 41 [2023/02/15 00:03:11.175349, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/trans2.c:2246(smbd_marshall_dir_entry) 42 smbd_marshall_dir_entry: SMB_FIND_ID_BOTH_DIRECTORY_INFO 43 [2023/02/15 00:03:11.175364, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/trans2.c:335(get_ea_names_from_fsp) 44 get_ea_names_from_fsp: ea_namelist size = 0 45 [2023/02/15 00:03:11.175375, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/trans2.c:648(fill_ea_chained_buffer) 46 fill_ea_chained_buffer: data_size = 0 47 [2023/02/15 00:03:11.175389, 5, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/files.c:1174(file_free) 48 freed files structure 0 (7 used) 49 [2023/02/15 00:03:11.175399, 6, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/dir.c:792(smbd_dirptr_get_entry) 50 smbd_dirptr_get_entry: dirptr 0x5586360f2220 now at offset 2147483648 51 [2023/02/15 00:03:11.175411, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/files.c:448(openat_pathref_fsp) 52 openat_pathref_fsp: smb_fname [..] 53 [2023/02/15 00:03:11.175421, 5, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/files.c:74(fsp_new) 54 fsp_new: allocated files structure (8 used) 55 [2023/02/15 00:03:11.175431, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/files.c:1380(file_name_hash) 56 file_name_hash: /mnt/efs/home/REDACTED/.. hash 0xecd0e981 57 [2023/02/15 00:03:11.175443, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/open.c:934(fd_openat) 58 fd_openat: name .., flags = 0200000 mode = 00, fd = 45 59 [2023/02/15 00:03:11.175453, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/files.c:565(openat_pathref_fsp) 60 openat_pathref_fsp: fsp [..]: OK 61 [2023/02/15 00:03:11.175464, 5, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/files.c:1174(file_free) 62 freed files structure 0 (7 used) 63 [2023/02/15 00:03:11.175473, 3, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/dir.c:1031(smbd_dirptr_get_entry) 64 smbd_dirptr_get_entry mask=[*] found .. fname=.. (..) 65 [2023/02/15 00:03:11.175483, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/trans2.c:1842(smbd_marshall_dir_entry) 66 smbd_marshall_dir_entry: space_remaining = 65416 67 [2023/02/15 00:03:11.175493, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/trans2.c:2246(smbd_marshall_dir_entry) 68 smbd_marshall_dir_entry: SMB_FIND_ID_BOTH_DIRECTORY_INFO 69 [2023/02/15 00:03:11.175828, 6, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/dir.c:792(smbd_dirptr_get_entry) 70 smbd_dirptr_get_entry: dirptr 0x5586360f2220 now at offset -376809156201132964 71 [2023/02/15 00:03:11.175842, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/files.c:448(openat_pathref_fsp) 72 openat_pathref_fsp: smb_fname [2617] 73 [2023/02/15 00:03:11.175852, 5, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/files.c:74(fsp_new) 74 fsp_new: allocated files structure (8 used) 75 [2023/02/15 00:03:11.175862, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/files.c:1380(file_name_hash) 76 file_name_hash: /mnt/efs/home/REDACTED/2617 hash 0x398605a 77 [2023/02/15 00:03:11.176256, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/open.c:934(fd_openat) 78 fd_openat: name 2617, flags = 0200000 mode = 00, fd = 45 79 [2023/02/15 00:03:11.176273, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/files.c:565(openat_pathref_fsp) 80 openat_pathref_fsp: fsp [2617]: OK 81 [2023/02/15 00:03:11.176284, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/dosmode.c:742(fdos_mode) 82 fdos_mode: 2617 83 [2023/02/15 00:03:11.176302, 5, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/dosmode.c:396(fget_ea_dos_attribute) 84 fget_ea_dos_attribute: Cannot get attribute from EA on file 2617: Error = Operation not supported 85 [2023/02/15 00:03:11.176319, 5, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/dosmode.c:68(dos_mode_debug_print) 86 dos_mode_debug_print: fdos_mode returning (0x10): "d" 87 [2023/02/15 00:03:11.176329, 3, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/dir.c:1031(smbd_dirptr_get_entry) 88 smbd_dirptr_get_entry mask=[*] found 2617 fname=2617 (2617) 89 [2023/02/15 00:03:11.176340, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/trans2.c:1842(smbd_marshall_dir_entry) 90 smbd_marshall_dir_entry: space_remaining = 65304 91 [2023/02/15 00:03:11.176350, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/trans2.c:2246(smbd_marshall_dir_entry) 92 smbd_marshall_dir_entry: SMB_FIND_ID_BOTH_DIRECTORY_INFO 93 [2023/02/15 00:03:11.176364, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/trans2.c:335(get_ea_names_from_fsp) 94 get_ea_names_from_fsp: ea_namelist size = 0 95 [2023/02/15 00:03:11.176374, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/trans2.c:648(fill_ea_chained_buffer) 96 fill_ea_chained_buffer: data_size = 0 97 [2023/02/15 00:03:11.176388, 5, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/files.c:1174(file_free) 98 freed files structure 0 (7 used) 99 [2023/02/15 00:03:11.176401, 6, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/dir.c:792(smbd_dirptr_get_entry) 100 smbd_dirptr_get_entry: dirptr 0x5586360f2220 now at offset -376809156200608676 101 102 <snip> 103 104 [2023/02/15 00:03:11.267914, 6, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/dir.c:792(smbd_dirptr_get_entry) 105 smbd_dirptr_get_entry: dirptr 0x5586360f2220 now at offset -376809155104584612 106 [2023/02/15 00:03:11.267924, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/files.c:448(openat_pathref_fsp) 107 openat_pathref_fsp: smb_fname [6653] 108 [2023/02/15 00:03:11.267933, 5, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/files.c:74(fsp_new) 109 fsp_new: allocated files structure (8 used) 110 [2023/02/15 00:03:11.267943, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/files.c:1380(file_name_hash) 111 file_name_hash: /mnt/efs/home/REDACTED/6653 hash 0xb73673c1 112 [2023/02/15 00:03:11.267955, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/open.c:934(fd_openat) 113 fd_openat: name 6653, flags = 0200000 mode = 00, fd = 45 114 [2023/02/15 00:03:11.267964, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/files.c:565(openat_pathref_fsp) 115 openat_pathref_fsp: fsp [6653]: OK 116 [2023/02/15 00:03:11.267974, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/dosmode.c:742(fdos_mode) 117 fdos_mode: 6653 118 [2023/02/15 00:03:11.267986, 5, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/dosmode.c:396(fget_ea_dos_attribute) 119 fget_ea_dos_attribute: Cannot get attribute from EA on file 6653: Error = Operation not supported 120 [2023/02/15 00:03:11.267996, 5, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/dosmode.c:68(dos_mode_debug_print) 121 dos_mode_debug_print: fdos_mode returning (0x10): "d" 122 [2023/02/15 00:03:11.268005, 3, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/dir.c:1031(smbd_dirptr_get_entry) 123 smbd_dirptr_get_entry mask=[*] found 6653 fname=6653 (6653) 124 [2023/02/15 00:03:11.268015, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/trans2.c:1842(smbd_marshall_dir_entry) 125 smbd_marshall_dir_entry: space_remaining = 120 126 [2023/02/15 00:03:11.268024, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/trans2.c:2246(smbd_marshall_dir_entry) 127 smbd_marshall_dir_entry: SMB_FIND_ID_BOTH_DIRECTORY_INFO 128 [2023/02/15 00:03:11.268035, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/trans2.c:335(get_ea_names_from_fsp) 129 get_ea_names_from_fsp: ea_namelist size = 0 130 [2023/02/15 00:03:11.268044, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/trans2.c:648(fill_ea_chained_buffer) 131 fill_ea_chained_buffer: data_size = 0 132 [2023/02/15 00:03:11.268055, 5, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/files.c:1174(file_free) 133 freed files structure 0 (7 used) 134 [2023/02/15 00:03:11.268066, 6, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/dir.c:792(smbd_dirptr_get_entry) 135 smbd_dirptr_get_entry: dirptr 0x5586360f2220 now at offset -376809155102749604 136 [2023/02/15 00:03:11.268076, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/files.c:448(openat_pathref_fsp) 137 openat_pathref_fsp: smb_fname [5924] 138 [2023/02/15 00:03:11.268086, 5, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/files.c:74(fsp_new) 139 fsp_new: allocated files structure (8 used) 140 [2023/02/15 00:03:11.268095, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/files.c:1380(file_name_hash) 141 file_name_hash: /mnt/efs/home/REDACTED/5924 hash 0xaa807709 142 [2023/02/15 00:03:11.268107, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/open.c:934(fd_openat) 143 fd_openat: name 5924, flags = 0200000 mode = 00, fd = 45 144 [2023/02/15 00:03:11.268120, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/files.c:565(openat_pathref_fsp) 145 openat_pathref_fsp: fsp [5924]: OK 146 [2023/02/15 00:03:11.268129, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/dosmode.c:742(fdos_mode) 147 fdos_mode: 5924 148 [2023/02/15 00:03:11.268141, 5, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/dosmode.c:396(fget_ea_dos_attribute) 149 fget_ea_dos_attribute: Cannot get attribute from EA on file 5924: Error = Operation not supported 150 [2023/02/15 00:03:11.268151, 5, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/dosmode.c:68(dos_mode_debug_print) 151 dos_mode_debug_print: fdos_mode returning (0x10): "d" 152 [2023/02/15 00:03:11.268160, 3, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/dir.c:1031(smbd_dirptr_get_entry) 153 smbd_dirptr_get_entry mask=[*] found 5924 fname=5924 (5924) 154 [2023/02/15 00:03:11.268170, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/trans2.c:1842(smbd_marshall_dir_entry) 155 smbd_marshall_dir_entry: space_remaining = 8 156 [2023/02/15 00:03:11.268179, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/trans2.c:2246(smbd_marshall_dir_entry) 157 smbd_marshall_dir_entry: SMB_FIND_ID_BOTH_DIRECTORY_INFO 158 [2023/02/15 00:03:11.268190, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/trans2.c:335(get_ea_names_from_fsp) 159 get_ea_names_from_fsp: ea_namelist size = 0 160 [2023/02/15 00:03:11.268200, 10, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/trans2.c:648(fill_ea_chained_buffer) 161 fill_ea_chained_buffer: data_size = 0 162 [2023/02/15 00:03:11.268209, 9, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/trans2.c:2426(smbd_marshall_dir_entry) 163 smbd_marshall_dir_entry: out of space (wanted 112, had 8) 164 [2023/02/15 00:03:11.268227, 5, pid=2573823, effective(33, 33), real(33, 0)] ../../source3/smbd/files.c:1174(file_free) 165 freed files structure 0 (7 used) 166 [2023/02/15 00:03:11.268237, 10, pid=2573823, effective(33, 33), real(33, 0), class=smb2] ../../source3/smbd/smb2_query_directory.c:188(smbd_smb2_request_find_done) 167 smbd_smb2_request_find_done: out_output_buffer.length = 65520 168 [2023/02/15 00:03:11.268248, 10, pid=2573823, effective(33, 33), real(33, 0), class=smb2] ../../source3/smbd/smb2_server.c:3840(smbd_smb2_request_done_ex) 169 smbd_smb2_request_done_ex: mid [53] idx[5] status[NT_STATUS_OK] body[8] dyn[yes:65520] at ../../source3/smbd/smb2_query_directory.c:193 170 [2023/02/15 00:03:11.268541, 10, pid=2573823, effective(33, 33), real(33, 0), class=smb2] ../../source3/smbd/smb2_server.c:3808(smbd_smb2_request_dispatch_immediate) 171 <SNIP> 198 [2023/02/15 00:03:11.268610, 10, pid=2573823, effective(33, 33), real(33, 0), class=smb2] ../../source3/smbd/smb2_server.c:2979(smbd_smb2_request_dispatch) 199 smbd_smb2_request_dispatch: opcode[SMB2_OP_QUERY_DIRECTORY] mid = 54
Rowland Penny
2023-Feb-15 13:14 UTC
[Samba] Missing Files/Missing Folders from an NFS Share
On 15/02/2023 13:06, Conor Armstrong via samba wrote:> Folks > > 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, > 0)] ../../source3/smbd/trans2.c:2426(smbd_marshall_dir_entry) > > smbd_marshall_dir_entry: out of space (wanted 112, had 8)Is there any way you can try a later version of Samba ? I ask this because trans2.c has been replaced by smb1_trans2.c and smb2_trans2.c in later versions (the portion of code you are referring to is in smb2_trans2.c now). I would also like to point out that sharing an NFS share with Samba, has never been a good idea. Rowland
Jeremy Allison
2023-Feb-15 17:48 UTC
[Samba] Missing Files/Missing Folders from an NFS Share
On Wed, Feb 15, 2023 at 02:06:38PM +0100, Conor Armstrong via samba wrote:>Folks > >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, >0)] ../../source3/smbd/trans2.c:2426(smbd_marshall_dir_entry) > > 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 4.17 ?