With streams_xattr enabled, ADS are written correctly but not retrieved

Puneet Arora arorap at gmail.com
Tue Aug 7 05:15:49 MDT 2012


Update: Looking at wireshark captured network traffic  I see that in
response to QUERY_FILE_INFO (Query File Stream Info), Samba does not return
all streams associated with the file. The response consists of only one
stream, which is the file data.

At this point I'ven't looked at any Samba code. If no has any idea what's
going on here I'd be curious to look. Could someone give pointers though
about where to look?

Thanks.



On Tue, Aug 7, 2012 at 2:03 AM, Puneet Arora <arorap at gmail.com> wrote:

> Hello,
>
> I'm running Samba 3.6.6-1 on my x64 Arch Linux installation. I recently
> decided to have my samba share support NTFS's Alternate Data Streams by
> using streams_xattr or streams_depot. With streams_xattr I discovered that
> if I copy a file having an ADS from a win7 box, on the linux console, I can
> see the ADS as an xattr attached to the file. However when I copy the file
> back to my win7 box using windows explorer, there are no ADS entries on it.
> This is not true if I use streams_depot.
>
> To this email, I've appended logs (log level=3) generated when I copy the
> file back using windows explorer. I haven't been able to make much sense of
> them or spot anything that's causing streams_xattr to not function
> correctly.
>
> On a side not, when I first enabled streams_xattr (true about
> streams_depot too), I was getting an NT_STATUS_NETWORK_BUSY from smbd which
> was also causing windows to report an 'unexpected error'. Upon some
> research I found this: https://bugzilla.samba.org/show_bug.cgi?id=7537 .
> Upon disbaleing kernel oplocks, this error was gone. I'm wondering if I
> could still have the kernel oplocks on and there's another way to solve it,
> since that bug is 2 years old.
>
> thanks,
> Puneet
>
> --
>
> [2012/08/06 00:53:26.317876,  3] smbd/process.c:1662(process_smb)
>   Transaction 303 of length 112 (0 toread)
> [2012/08/06 00:53:26.318270,  3] smbd/process.c:1467(switch_message)
>   switch message SMBtrans2 (pid 12102) conn 0x7f02fcec2aa0
> [2012/08/06 00:53:26.318527,  3]
> smbd/trans2.c:5117(call_trans2qfilepathinfo)
>   call_trans2qfilepathinfo: TRANSACT2_QPATHINFO: level = 1004
> [2012/08/06 00:53:26.318716,  3] smbd/vfs.c:905(check_reduced_name)
>   check_reduced_name [bar.jpg] [/media/test1]
> [2012/08/06 00:53:26.319162,  3] smbd/vfs.c:1039(check_reduced_name)
>   check_reduced_name: bar.jpg reduced to /media/test1/bar.jpg
> [2012/08/06 00:53:26.319530,  3]
> smbd/trans2.c:5261(call_trans2qfilepathinfo)
>   call_trans2qfilepathinfo bar.jpg (fnum = -1) level=1004 call=5
> total_data=0
> [2012/08/06 00:53:26.320235,  3] smbd/process.c:1662(process_smb)
>   Transaction 304 of length 112 (0 toread)
> [2012/08/06 00:53:26.320635,  3] smbd/process.c:1467(switch_message)
>   switch message SMBtrans2 (pid 12102) conn 0x7f02fcec2aa0
> [2012/08/06 00:53:26.321164,  3]
> smbd/trans2.c:5117(call_trans2qfilepathinfo)
>   call_trans2qfilepathinfo: TRANSACT2_QPATHINFO: level = 1005
> [2012/08/06 00:53:26.321555,  3] smbd/vfs.c:905(check_reduced_name)
>   check_reduced_name [bar.jpg] [/media/test1]
> [2012/08/06 00:53:26.321748,  3] smbd/vfs.c:1039(check_reduced_name)
>   check_reduced_name: bar.jpg reduced to /media/test1/bar.jpg
> [2012/08/06 00:53:26.321966,  3]
> smbd/trans2.c:5261(call_trans2qfilepathinfo)
>   call_trans2qfilepathinfo bar.jpg (fnum = -1) level=1005 call=5
> total_data=0
> [2012/08/06 00:53:26.322980,  3] smbd/process.c:1662(process_smb)
>   Transaction 305 of length 112 (0 toread)
> [2012/08/06 00:53:26.323299,  3] smbd/process.c:1467(switch_message)
>   switch message SMBtrans2 (pid 12102) conn 0x7f02fcec2aa0
> [2012/08/06 00:53:26.323474,  3]
> smbd/trans2.c:5117(call_trans2qfilepathinfo)
>   call_trans2qfilepathinfo: TRANSACT2_QPATHINFO: level = 1004
> [2012/08/06 00:53:26.323664,  3] smbd/vfs.c:905(check_reduced_name)
>   check_reduced_name [bar.jpg] [/media/test1]
> [2012/08/06 00:53:26.323897,  3] smbd/vfs.c:1039(check_reduced_name)
>   check_reduced_name: bar.jpg reduced to /media/test1/bar.jpg
> [2012/08/06 00:53:26.324212,  3]
> smbd/trans2.c:5261(call_trans2qfilepathinfo)
>   call_trans2qfilepathinfo bar.jpg (fnum = -1) level=1004 call=5
> total_data=0
> [2012/08/06 00:53:26.349891,  3] smbd/process.c:1662(process_smb)
>   Transaction 306 of length 90 (0 toread)
> [2012/08/06 00:53:26.350056,  3] smbd/process.c:1467(switch_message)
>   switch message SMBntcreateX (pid 12102) conn 0x7f02fcec2aa0
> [2012/08/06 00:53:26.350222,  3] smbd/vfs.c:905(check_reduced_name)
>   check_reduced_name [.] [/media/test1]
> [2012/08/06 00:53:26.350382,  3] smbd/vfs.c:1039(check_reduced_name)
>   check_reduced_name: . reduced to /media/test1
> [2012/08/06 00:53:26.350558,  3] smbd/dosmode.c:159(unix_mode)
>   unix_mode(.) returning 0744
> [2012/08/06 00:53:26.351819,  3] smbd/process.c:1662(process_smb)
>   Transaction 307 of length 76 (0 toread)
> [2012/08/06 00:53:26.352145,  3] smbd/process.c:1467(switch_message)
>   switch message SMBtrans2 (pid 12102) conn 0x7f02fcec2aa0
> [2012/08/06 00:53:26.352319,  3]
> smbd/trans2.c:5032(call_trans2qfilepathinfo)
>   call_trans2qfilepathinfo: TRANSACT2_QFILEINFO: level = 1005
> [2012/08/06 00:53:26.352529,  3]
> smbd/trans2.c:5261(call_trans2qfilepathinfo)
>   call_trans2qfilepathinfo . (fnum = 10395) level=1005 call=7 total_data=0
> [2012/08/06 00:53:26.353184,  3] smbd/process.c:1662(process_smb)
>   Transaction 308 of length 45 (0 toread)
> [2012/08/06 00:53:26.353491,  3] smbd/process.c:1467(switch_message)
>   switch message SMBclose (pid 12102) conn 0x7f02fcec2aa0
> [2012/08/06 00:53:26.353658,  3] smbd/reply.c:4838(reply_close)
>   close directory fnum=10395
> [2012/08/06 00:53:26.356075,  3] smbd/process.c:1662(process_smb)
>   Transaction 309 of length 45 (0 toread)
> [2012/08/06 00:53:26.356396,  3] smbd/process.c:1467(switch_message)
>   switch message SMBclose (pid 12102) conn 0x7f02fcec2aa0
> [2012/08/06 00:53:26.356659,  3] smbd/reply.c:4848(reply_close)
>   close fd=29 fnum=10393 (numopen=2)
> [2012/08/06 00:53:26.357058,  2] smbd/close.c:696(close_normal_file)
>   puneet closed file bar.jpg (numopen=1) NT_STATUS_OK
> [2012/08/06 00:53:26.357970,  3] smbd/process.c:1662(process_smb)
>   Transaction 310 of length 122 (0 toread)
> [2012/08/06 00:53:26.358292,  3] smbd/process.c:1467(switch_message)
>   switch message SMBntcreateX (pid 12102) conn 0x7f02fcec2aa0
> [2012/08/06 00:53:26.358601,  3] smbd/vfs.c:905(check_reduced_name)
>   check_reduced_name [bar.jpg] [/media/test1]
> [2012/08/06 00:53:26.358951,  3] smbd/vfs.c:1039(check_reduced_name)
>   check_reduced_name: bar.jpg reduced to /media/test1/bar.jpg
> [2012/08/06 00:53:26.359315,  3] smbd/dosmode.c:159(unix_mode)
>   unix_mode(bar.jpg) returning 0744
> [2012/08/06 00:53:26.359607,  2] smbd/open.c:704(open_file)
>   puneet opened file bar.jpg read=Yes write=No (numopen=2)
> [2012/08/06 00:53:26.360502,  3] smbd/process.c:1662(process_smb)
>   Transaction 311 of length 76 (0 toread)
> [2012/08/06 00:53:26.360864,  3] smbd/process.c:1467(switch_message)
>   switch message SMBtrans2 (pid 12102) conn 0x7f02fcec2aa0
> [2012/08/06 00:53:26.361054,  3]
> smbd/trans2.c:5032(call_trans2qfilepathinfo)
>   call_trans2qfilepathinfo: TRANSACT2_QFILEINFO: level = 1004
> [2012/08/06 00:53:26.361258,  3]
> smbd/trans2.c:5261(call_trans2qfilepathinfo)
>   call_trans2qfilepathinfo bar.jpg (fnum = 10396) level=1004 call=7
> total_data=0
> [2012/08/06 00:53:26.361935,  3] smbd/process.c:1662(process_smb)
>   Transaction 312 of length 90 (0 toread)
> [2012/08/06 00:53:26.362099,  3] smbd/process.c:1467(switch_message)
>   switch message SMBnttrans (pid 12102) conn 0x7f02fcec2aa0
> [2012/08/06 00:53:26.362252,  3] smbd/error.c:81(error_packet_set)
>   error packet at smbd/nttrans.c(2519) cmd=160 (SMBnttrans)
> NT_STATUS_NOT_SUPPORTED
> [2012/08/06 00:53:26.362784,  3] smbd/process.c:1662(process_smb)
>   Transaction 313 of length 74 (0 toread)
> [2012/08/06 00:53:26.363105,  3] smbd/process.c:1467(switch_message)
>   switch message SMBtrans2 (pid 12102) conn 0x7f02fcec2aa0
> [2012/08/06 00:53:26.363281,  3] smbd/trans2.c:3513(call_trans2qfsinfo)
>   call_trans2qfsinfo: level = 261
> [2012/08/06 00:53:26.363441,  3] smbd/trans2.c:2951(smbd_do_qfsinfo)
>   smbd_do_qfsinfo: level = 261
> [2012/08/06 00:53:26.363998,  3] smbd/process.c:1662(process_smb)
>   Transaction 314 of length 76 (0 toread)
> [2012/08/06 00:53:26.364399,  3] smbd/process.c:1467(switch_message)
>   switch message SMBtrans2 (pid 12102) conn 0x7f02fcec2aa0
> [2012/08/06 00:53:26.364823,  3]
> smbd/trans2.c:5032(call_trans2qfilepathinfo)
>   call_trans2qfilepathinfo: TRANSACT2_QFILEINFO: level = 1004
> [2012/08/06 00:53:26.365262,  3]
> smbd/trans2.c:5261(call_trans2qfilepathinfo)
>   call_trans2qfilepathinfo bar.jpg (fnum = 10396) level=1004 call=7
> total_data=0
> [2012/08/06 00:53:26.366166,  3] smbd/process.c:1662(process_smb)
>   Transaction 315 of length 114 (0 toread)
> [2012/08/06 00:53:26.366340,  3] smbd/process.c:1467(switch_message)
>   switch message SMBntcreateX (pid 12102) conn 0x7f02fcec2aa0
> [2012/08/06 00:53:26.367029,  3] smbd/vfs.c:905(check_reduced_name)
>   check_reduced_name [desktop.ini] [/media/test1]
> [2012/08/06 00:53:26.367287,  3] smbd/vfs.c:1039(check_reduced_name)
>   check_reduced_name: desktop.ini reduced to /media/test1/desktop.ini
> [2012/08/06 00:53:26.367698,  3] smbd/dosmode.c:159(unix_mode)
>   unix_mode(desktop.ini) returning 0744
> [2012/08/06 00:53:26.368086,  3] smbd/error.c:81(error_packet_set)
>   error packet at smbd/error.c(161) cmd=162 (SMBntcreateX)
> NT_STATUS_OBJECT_NAME_NOT_FOUND
> [2012/08/06 00:53:26.369614,  3] smbd/process.c:1662(process_smb)
>   Transaction 316 of length 76 (0 toread)
> [2012/08/06 00:53:26.369929,  3] smbd/process.c:1467(switch_message)
>   switch message SMBtrans2 (pid 12102) conn 0x7f02fcec2aa0
> [2012/08/06 00:53:26.370305,  3]
> smbd/trans2.c:5032(call_trans2qfilepathinfo)
>   call_trans2qfilepathinfo: TRANSACT2_QFILEINFO: level = 1022
> [2012/08/06 00:53:26.370813,  3]
> smbd/trans2.c:5261(call_trans2qfilepathinfo)
>   call_trans2qfilepathinfo bar.jpg (fnum = 10396) level=1022 call=7
> total_data=0
> [2012/08/06 00:53:26.371812,  3] smbd/process.c:1662(process_smb)
>   Transaction 317 of length 76 (0 toread)
> [2012/08/06 00:53:26.371988,  3] smbd/process.c:1467(switch_message)
>   switch message SMBtrans2 (pid 12102) conn 0x7f02fcec2aa0
> [2012/08/06 00:53:26.372361,  3]
> smbd/trans2.c:5032(call_trans2qfilepathinfo)
>   call_trans2qfilepathinfo: TRANSACT2_QFILEINFO: level = 1004
> [2012/08/06 00:53:26.372774,  3]
> smbd/trans2.c:5261(call_trans2qfilepathinfo)
>   call_trans2qfilepathinfo bar.jpg (fnum = 10396) level=1004 call=7
> total_data=0
> [2012/08/06 00:53:26.373533,  3] smbd/process.c:1662(process_smb)
>   Transaction 318 of length 76 (0 toread)
> [2012/08/06 00:53:26.373714,  3] smbd/process.c:1467(switch_message)
>   switch message SMBtrans2 (pid 12102) conn 0x7f02fcec2aa0
> [2012/08/06 00:53:26.374169,  3]
> smbd/trans2.c:5032(call_trans2qfilepathinfo)
>   call_trans2qfilepathinfo: TRANSACT2_QFILEINFO: level = 1005
> [2012/08/06 00:53:26.374607,  3]
> smbd/trans2.c:5261(call_trans2qfilepathinfo)
>   call_trans2qfilepathinfo bar.jpg (fnum = 10396) level=1005 call=7
> total_data=0
> [2012/08/06 00:53:26.377940,  3] smbd/process.c:1662(process_smb)
>   Transaction 319 of length 74 (0 toread)
> [2012/08/06 00:53:26.378261,  3] smbd/process.c:1467(switch_message)
>   switch message SMBtrans2 (pid 12102) conn 0x7f02fcec2aa0
> [2012/08/06 00:53:26.378688,  3] smbd/trans2.c:3513(call_trans2qfsinfo)
>   call_trans2qfsinfo: level = 259
> [2012/08/06 00:53:26.379090,  3] smbd/trans2.c:2951(smbd_do_qfsinfo)
>   smbd_do_qfsinfo: level = 259
> [2012/08/06 00:53:26.380242,  3] lib/sysquotas.c:432(sys_get_quota)
>   sys_get_vfs_quota() failed for mntpath[/media/test1]
> bdev[/dev/mapper/test1] qtype[2] id[1000]: Operation not permitted
> [2012/08/06 00:53:26.381325,  3] lib/sysquotas.c:432(sys_get_quota)
>   sys_get_vfs_quota() failed for mntpath[/media/test1]
> bdev[/dev/mapper/test1] qtype[4] id[100]: Operation not permitted
> [2012/08/06 00:53:26.382136,  3] smbd/process.c:1662(process_smb)
>   Transaction 320 of length 63 (0 toread)
> [2012/08/06 00:53:26.382386,  3] smbd/process.c:1467(switch_message)
>   switch message SMBreadX (pid 12102) conn 0x7f02fcec2aa0
> [2012/08/06 00:53:26.382884,  3] smbd/reply.c:3702(send_file_readX)
>   send_file_readX fnum=10396 max=32768 nread=32768
> [2012/08/06 00:53:26.383828,  3] smbd/process.c:1662(process_smb)
>   Transaction 321 of length 63 (0 toread)
> [2012/08/06 00:53:26.384164,  3] smbd/process.c:1467(switch_message)
>   switch message SMBreadX (pid 12102) conn 0x7f02fcec2aa0
> [2012/08/06 00:53:26.384668,  3] smbd/reply.c:3702(send_file_readX)
>   send_file_readX fnum=10396 max=32768 nread=32768
> [2012/08/06 00:53:26.385541,  3] smbd/process.c:1662(process_smb)
>   Transaction 322 of length 63 (0 toread)
> [2012/08/06 00:53:26.385794,  3] smbd/process.c:1467(switch_message)
>   switch message SMBreadX (pid 12102) conn 0x7f02fcec2aa0
> [2012/08/06 00:53:26.386274,  3] smbd/reply.c:3702(send_file_readX)
>   send_file_readX fnum=10396 max=32768 nread=32768
> [2012/08/06 00:53:26.387140,  3] smbd/process.c:1662(process_smb)
>   Transaction 323 of length 63 (0 toread)
> [2012/08/06 00:53:26.387392,  3] smbd/process.c:1467(switch_message)
>   switch message SMBreadX (pid 12102) conn 0x7f02fcec2aa0
> [2012/08/06 00:53:26.387904,  3] smbd/reply.c:3702(send_file_readX)
>   send_file_readX fnum=10396 max=32768 nread=32768
> [2012/08/06 00:53:26.388746,  3] smbd/process.c:1662(process_smb)
>   Transaction 324 of length 63 (0 toread)
> [2012/08/06 00:53:26.388987,  3] smbd/process.c:1467(switch_message)
>   switch message SMBreadX (pid 12102) conn 0x7f02fcec2aa0
> [2012/08/06 00:53:26.389460,  3] smbd/reply.c:3702(send_file_readX)
>   send_file_readX fnum=10396 max=32768 nread=32768
> [2012/08/06 00:53:26.390271,  3] smbd/process.c:1662(process_smb)
>   Transaction 325 of length 63 (0 toread)
> [2012/08/06 00:53:26.390536,  3] smbd/process.c:1467(switch_message)
>   switch message SMBreadX (pid 12102) conn 0x7f02fcec2aa0
> [2012/08/06 00:53:26.390983,  3] smbd/reply.c:3702(send_file_readX)
>   send_file_readX fnum=10396 max=3613 nread=3613
> [2012/08/06 00:53:37.009501,  3] smbd/process.c:1662(process_smb)
>   Transaction 326 of length 45 (0 toread)
> [2012/08/06 00:53:37.009834,  3] smbd/process.c:1467(switch_message)
>   switch message SMBclose (pid 12102) conn 0x7f02fcec2aa0
> [2012/08/06 00:53:37.010091,  3] smbd/reply.c:4848(reply_close)
>   close fd=29 fnum=10396 (numopen=2)
> [2012/08/06 00:53:37.010918,  2] smbd/close.c:696(close_normal_file)
>   puneet closed file bar.jpg (numopen=1) NT_STATUS_OK
>
>


More information about the samba-technical mailing list