[Samba] Problem with listing a share

Tobias von der Krone linux at vdkrone.de
Wed May 11 04:57:46 MDT 2011


Hi,

I have a strange problem listing a share with, e.g.

# ls -al /path/to/share


I have a samba-client-3.5.4-68.el6_0.2.x86_64 on a Scientific Linux 6 
(as a virtual machine - if it matters) and an samba-3.0.33-0.30.el4 
server on a RHEL4. When I try the listed command I get the following in 
the servers logfile (on log lever = 3):

[2011/04/29 16:29:39, 3, effective(0, 0), real(0, 0)] smbd/process.c:process_smb(1083)

   Transaction 32 of length 78

[2011/04/29 16:29:39, 3, effective(0, 0), real(0, 0)] smbd/process.c:switch_message(932)

   switch message SMBtrans2 (pid 12215) conn 0x8f82e20

[2011/04/29 16:29:39, 3, effective(0, 0), real(0, 0)] smbd/sec_ctx.c:set_sec_ctx(241)

   setting sec ctx (872, 872) - sec_ctx_stack_ndx = 0

[2011/04/29 16:29:39, 3, effective(872, 872), real(872, 0)] smbd/trans2.c:call_trans2qfilepathinfo(3304)

   call_trans2qfilepathinfo: TRANSACT2_QPATHINFO: level = 263

[2011/04/29 16:29:39, 3, effective(872, 872), real(872, 0)] smbd/vfs.c:reduce_name(821)

   reduce_name [.] [/path/to/share]

[2011/04/29 16:29:39, 3, effective(872, 872), real(872, 0)] smbd/vfs.c:reduce_name(922)

   reduce_name: . reduced to /path/to/share

[2011/04/29 16:29:39, 3, effective(872, 872), real(872, 0)] smbd/trans2.c:call_trans2qfilepathinfo(3355)

   call_trans2qfilepathinfo . (fnum = -1) level=263 call=5 total_data=0

[2011/04/29 16:29:39, 3, effective(872, 872), real(872, 0)] smbd/process.c:process_smb(1083)

   Transaction 33 of length 88

[2011/04/29 16:29:39, 3, effective(872, 872), real(872, 0)] smbd/process.c:switch_message(932)

   switch message SMBtrans2 (pid 12215) conn 0x8f82e20

[2011/04/29 16:29:39, 3, effective(872, 872), real(872, 0)] smbd/sec_ctx.c:set_sec_ctx(241)

   setting sec ctx (872, 872) - sec_ctx_stack_ndx = 0

[2011/04/29 16:29:39, 3, effective(872, 872), real(872, 0)] smbd/trans2.c:call_trans2findfirst(1704)

   call_trans2findfirst: dirtype = 17, maxentries = 150,
close_after_first=0, close_if_end = 2 requires_resume_key = 4 level =
0x105, max_data_bytes = 16384

[2011/04/29 16:29:39, 3, effective(872, 872), real(872, 0)] smbd/vfs.c:reduce_name(821)

   reduce_name [\*] [/path/to/share]

[2011/04/29 16:29:39, 3, effective(872, 872), real(872, 0)] smbd/vfs.c:reduce_name(922)

   reduce_name: \* reduced to/path/to/share/\*

[2011/04/29 16:29:39, 3, effective(872, 872), real(872, 0)] smbd/vfs.c:reduce_name(821)

   reduce_name [./] [/path/to/share]

[2011/04/29 16:29:39, 3, effective(872, 872), real(872, 0)] smbd/vfs.c:reduce_name(922)

   reduce_name: ./ reduced to /path/to/share

[2011/04/29 16:29:39, 3, effective(872, 872), real(872, 0)] smbd/dir.c:dptr_create(515)

   creating new dirptr 256 for path ./, expect_close = 1

[2011/04/29 16:29:39, 3, effective(872, 872), real(872, 0)] smbd/error.c:error_packet_set(106)

   error packet at smbd/trans2.c(1906) cmd=50 (SMBtrans2) NT_STATUS_NO_SUCH_FILE

[2011/04/29 16:29:39, 3, effective(872, 872), real(872, 0)] smbd/process.c:process_smb(1083)

   Transaction 34 of length 84

[2011/04/29 16:29:39, 3, effective(872, 872), real(872, 0)] smbd/process.c:switch_message(932)

   switch message SMBtrans2 (pid 12215) conn 0x8f82e20

[2011/04/29 16:29:39, 3, effective(872, 872), real(872, 0)] smbd/sec_ctx.c:set_sec_ctx(241)

   setting sec ctx (872, 872) - sec_ctx_stack_ndx = 0

[2011/04/29 16:29:39, 3, effective(872, 872), real(872, 0)] smbd/trans2.c:call_trans2findnext(2018)

   call_trans2findnext: dirhandle = 0, max_data_bytes = 16384,
maxentries = 150, close_after_request=0, close_if_end = 2
requires_resume_key = 4 resume_key = 0 resume name =  continue=0 level =
  261

[2011/04/29 16:29:39, 3, effective(872, 872), real(872, 0)] smbd/dir.c:dptr_fetch_lanman2(729)

   fetched null dirptr 0

[2011/04/29 16:29:39, 3, effective(872, 872), real(872, 0)] smbd/error.c:error_packet_set(106)

   error packet at smbd/trans2.c(2098) cmd=50 (SMBtrans2) STATUS_NO_MORE_FILES




The same command issued from another Scientific Linux 6 (hardware) 
machine works with the following servers log:

[2011/04/29 16:32:42, 3, effective(872, 872), real(872, 0)] smbd/process.c:process_smb(1083)

   Transaction 7 of length 78

[2011/04/29 16:32:42, 3, effective(872, 872), real(872, 0)] smbd/process.c:switch_message(932)

   switch message SMBtrans2 (pid 26105) conn 0x90cc218

[2011/04/29 16:32:42, 3, effective(872, 872), real(872, 0)] smbd/sec_ctx.c:set_sec_ctx(241)

   setting sec ctx (872, 872) - sec_ctx_stack_ndx = 0

[2011/04/29 16:32:42, 3, effective(872, 872), real(872, 0)] smbd/trans2.c:call_trans2qfilepathinfo(3304)

   call_trans2qfilepathinfo: TRANSACT2_QPATHINFO: level = 263

[2011/04/29 16:32:42, 3, effective(872, 872), real(872, 0)] smbd/vfs.c:reduce_name(821)

   reduce_name [.] [/path/to/share]

[2011/04/29 16:32:42, 3, effective(872, 872), real(872, 0)] smbd/vfs.c:reduce_name(922)

   reduce_name: . reduced to /path/to/share

[2011/04/29 16:32:42, 3, effective(872, 872), real(872, 0)] smbd/trans2.c:call_trans2qfilepathinfo(3355)

   call_trans2qfilepathinfo . (fnum = -1) level=263 call=5 total_data=0

[2011/04/29 16:32:43, 3, effective(872, 872), real(872, 0)] smbd/process.c:process_smb(1083)

   Transaction 8 of length 78

[2011/04/29 16:32:43, 3, effective(872, 872), real(872, 0)] smbd/process.c:switch_message(932)

   switch message SMBtrans2 (pid 26105) conn 0x90cc218

[2011/04/29 16:32:43, 3, effective(872, 872), real(872, 0)] smbd/sec_ctx.c:set_sec_ctx(241)

   setting sec ctx (872, 872) - sec_ctx_stack_ndx = 0

[2011/04/29 16:32:43, 3, effective(872, 872), real(872, 0)] smbd/trans2.c:call_trans2qfilepathinfo(3304)

   call_trans2qfilepathinfo: TRANSACT2_QPATHINFO: level = 263

[2011/04/29 16:32:43, 3, effective(872, 872), real(872, 0)] smbd/vfs.c:reduce_name(821)

   reduce_name [.] [/path/to/share]

[2011/04/29 16:32:43, 3, effective(872, 872), real(872, 0)] smbd/vfs.c:reduce_name(922)

   reduce_name: . reduced to /path/to/share

[2011/04/29 16:32:43, 3, effective(872, 872), real(872, 0)] smbd/trans2.c:call_trans2qfilepathinfo(3355)

   call_trans2qfilepathinfo . (fnum = -1) level=263 call=5 total_data=0

[2011/04/29 16:32:43, 3, effective(872, 872), real(872, 0)] smbd/process.c:process_smb(1083)

   Transaction 9 of length 88

[2011/04/29 16:32:43, 3, effective(872, 872), real(872, 0)] smbd/process.c:switch_message(932)

   switch message SMBtrans2 (pid 26105) conn 0x90cc218

[2011/04/29 16:32:43, 3, effective(872, 872), real(872, 0)] smbd/sec_ctx.c:set_sec_ctx(241)

   setting sec ctx (872, 872) - sec_ctx_stack_ndx = 0

[2011/04/29 16:32:43, 3, effective(872, 872), real(872, 0)] smbd/trans2.c:call_trans2findfirst(1704)

   call_trans2findfirst: dirtype = 17, maxentries = 150,
close_after_first=0, close_if_end = 2 requires_resume_key = 4 level =
0x105, max_data_bytes = 16384

[2011/04/29 16:32:43, 3, effective(872, 872), real(872, 0)] smbd/vfs.c:reduce_name(821)

   reduce_name [*] [/path/to/share]

[2011/04/29 16:32:43, 3, effective(872, 872), real(872, 0)] smbd/vfs.c:reduce_name(922)

   reduce_name: * reduced to/path/to/share/*

[2011/04/29 16:32:43, 3, effective(872, 872), real(872, 0)] smbd/vfs.c:reduce_name(821)

   reduce_name [./] [/path/to/share]

[2011/04/29 16:32:43, 3, effective(872, 872), real(872, 0)] smbd/vfs.c:reduce_name(922)

   reduce_name: ./ reduced to /path/to/share

[2011/04/29 16:32:43, 3, effective(872, 872), real(872, 0)] smbd/dir.c:dptr_create(515)

   creating new dirptr 256 for path ./, expect_close = 1



What I find strange is that on the failing client the second transaction

Transaction 33 of length 88

has another length whereas the length of the second transaction on the 
successful client is equal.

Another symptom is when I create a file on the failing client the 
filename gets a leading '\' (backslash) on the server and the client can 
see this file (with the backslash).

Does anyone has an idea? Do you need more information?

By Tobias


More information about the samba mailing list