Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#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)

log.ndpsmb (108.0 KB) - added by darcio 7 years ago.
WPS file copy/paste opration capture LOG, see file: test.cmd
log.ndpsmb.test2 (73.4 KB) - added by darcio 7 years ago.
TEST2 - using the modified ndpsmb.dll

Download all attachments as: .zip

Change History (11)

Changed 7 years ago by darcio

Attachment: log.ndpsmb added

WPS file copy/paste opration capture LOG, see file: test.cmd

comment:1 Changed 7 years ago by darcio

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 Changed 7 years ago by Paul Smedley

Owner: set to Paul Smedley
Status: newassigned
Version: Client 3.0.x

comment:3 Changed 7 years ago by Paul Smedley

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.

Version 0, edited 7 years ago by Paul Smedley (next)

comment:4 Changed 7 years ago by Paul Smedley

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.

Last edited 7 years ago by Paul Smedley (previous) (diff)

comment:5 Changed 7 years ago by Paul Smedley

Confirmed - if the remote server doesn't support EA's, a WPS copy will fail

comment:6 Changed 7 years ago by Paul Smedley

Resolution: fixed
Status: assignedclosed
Summary: WPS file copy/paste fails on NetDrive SAMBA mountWPS 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 Changed 7 years ago by darcio

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.

Changed 7 years ago by darcio

Attachment: log.ndpsmb.test2 added

TEST2 - using the modified ndpsmb.dll

comment:8 Changed 7 years ago by Paul Smedley

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.

comment:9 Changed 7 years ago by Paul Smedley

Confirmed fixed by user.

Note: See TracTickets for help on using tickets.