#309 closed defect (fixed)
WPS file copy/paste fails on NetDrive SAMBA mount that doesn't support EA's
Reported by: | darcio | Owned by: | Paul Smedley |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | Samba Client Plugin | Version: | Client 3.0.x |
Keywords: | Samba client 3.2.x | Cc: |
Description
Attempting to do COPY/PASTE to a SAMBA target fails.
I was trying to do so today actually...a quick movie, attempted to do a WPS/XWP copy/paste and this would produce a SYS0266:
ERROR START
SYS0266: The specified file was not copied.
EXPLANATION: Either the source and target files are not in the same file system or the operating system does not support COPY for this file system.
ACTION: Check the source and target file names and retry the operation.
ERROR STOP
...and yet going to CLI I had absolutely no problem accomplishing this.
The SAMBA server is my NAS box (ZyXel NSA325 v2). The share is in FULL access mode, the NetDrive resource is mounted in Write mode as well.
Below is a capture of the configuration from EVFSGUI:
Samba Client Versions:
File system NDFS32 Version 3.027
Plugin file G:\UTIL\NDFS\NDPLUGS\NDPSMB.DLL
Plugin Vendor netlabs
Plugin Revision 3.02.x
Plugin Date/Time 12 Mar 2017 19:26:06
Plugin Build Machine ECS85332116
Plugin Language Code en
Plugin File Version 3.2
Plugin Description NDPSMB - SMBFS NetDrive External Plugin Build beta-date
Commandline utilities Version 3.0.37-eCS 1.0.6-565
EVFSGUIVersion 2.5.RC7-[2014-11-14]
Attachments (2)
Change History (11)
by , 8 years ago
Attachment: | log.ndpsmb added |
---|
comment:1 by , 8 years ago
Attached the log.ndpsmb to the ticket.
Here is the scenario:
1) enabled DEBUG
2) started the NetDrive control program
3) opened WPS "Drives" object, pointed to volume 'V:' which is mapped to the NAS samba shares
4) attempted to execute a 'file paste' command against the samba share in the 'video' directory, see filename 'test.cmd'
5) as best as I can tell the log.ndpsmb shows this starting in "2017/04/02 20:15:53.21: 9 2: NdpQueryPathInfo in [0x742b20] <video\test.cmd>"
6) above failed with SYS0266
7) stopped the NetDrive control program
8) captured the log.ndpsmb debug log file
comment:2 by , 8 years ago
Owner: | set to |
---|---|
Status: | new → assigned |
Version: | → Client 3.0.x |
comment:3 by , 8 years ago
I see the share is using NT1 (~SMB1) - my tests were a share using SMB3.
I'll try and reproduce using a share on a Samba Server v3.x for OS/2 server.
comment:4 by , 8 years ago
OK - a hunch - does the remote file system support EA's?
In the log:
2017/04/02 20:15:53.23: 9 2: NdpEASet 87
RC of 87 indicates invalid operation - which might be the case if the remote FS doesn't support EA. This could likely cause the SYS0266
WPS copy might create EA's which the command line copy won't. There may also be a better option here to ignore such errors.
comment:5 by , 8 years ago
Confirmed - if the remote server doesn't support EA's, a WPS copy will fail
comment:6 by , 8 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Summary: | WPS file copy/paste fails on NetDrive SAMBA mount → WPS file copy/paste fails on NetDrive SAMBA mount that doesn't support EA's |
http://smedley.id.au/tmp/ndpsmb.zip should fix this.
Basically, if any of the EA functions return an rc, instead of returning the actual rc which the WPS doesn't understand, it returns ERROR_EAS_NOT_SUPPORTED which the WPS understands and the copy succeeds.
comment:7 by , 8 years ago
OK, I tested this using the ndpsmb.dll plugin that was provided.
So the results are:
1) with the share defined as supporting EXT attributes the behaviour remains the same, the copy/paste operation still produces a SYS0266 and fails, there is a file created in the remote directory but it is of 0 (zero) bytes
2) with the share defined as NOT supporting EXT attributes the copy/paste completes successfully
For comparison, I executed the same "test.cmd" file copy/paste against other shares on my network, they were:
1) Windows XP - worked successfully with EXT ATR = Y
2) Windows Pro - worked successfully with EXT ATR = Y
I've attached the new log.ndpsmb debug output. So it appears the changes made did not have an impact.
To make sure I was using the correct DLL I used "repmod ndpsmb.dll -u" to un-load the DLL before un-zipping the new DLL into the destination directory. Once un-zipped I confirmed the size/date/time stamp reflected the new DLL.
comment:8 by , 8 years ago
Did you restart ndctl.exe after replacing ndpsmb.dll? If not, whilst you've copied the new dll to the right location, you'll still using the old DLL.
You can restart ndctl.exe from the Netdrive control gui - there's an option to stop/start the control program - I forget the actual menu prompt.
WPS file copy/paste opration capture LOG, see file: test.cmd