Print

Print


Hi guys,
I did some quick tests with 4.2.1 (both client and server) and that's the behaviour that I observed

on the server:
[simonm@slc6-test ~]$ ls -ltr /tmp/
total 0
(the /tmp is empty)

on the client:
[simonm@idefix test]$ xrdcp ./test.txt root://slc6-test:1094//tmp
[10B/10B][100%][==================================================][10B/s]
(copying a file works)

[0B/0B][100%][==================================================][0B/s]  
Run: [ERROR] Server responded with an error: [3006] Unable to create /tmp/test.txt; file exists
(copying the file if the file already exists fails which I suppose is the right behaviour)

[simonm@idefix test]$ xrdcp -f ./test.txt root://slc6-test:1094//tmp
[10B/10B][100%][==================================================][10B/s]
(copying the file if the file exists succeeded with the force flag, again correct behaviour)

[simonm@idefix test]$ xrdcp ./test.txt root://slc6-test:1094//tmp/new_name
[10B/10B][100%][==================================================][10B/s]
(copying the file with new name: new_name)

on the server:
[simonm@slc6-test ~]$ ls -ltr /tmp/
total 8
-rw-r--r--. 1 xrootd xrootd 10 Jun 19 17:08 test.txt
-rw-r--r--. 1 xrootd xrootd 10 Jun 19 17:09 new_name
(both files are there, every thing seems to be fine)

on the client:
[simonm@idefix test]$ echo $XRD_MAKEPATH 
true
[simonm@idefix test]$ xrdcp ./test.txt root://slc6-test:1094//tmp/new_dir/
[0B/0B][100%][==================================================][0B/s]  
Run: [ERROR] Server responded with an error: [3016] Unable to create /tmp/new_dir/; is a directory
(it fails, complains that new_dir is a directory, although the XRD_MAKEPATH is set to true)

on the server:
[simonm@slc6-test ~]$ ls -ltr /tmp/
total 12
-rw-r--r--. 1 xrootd xrootd   10 Jun 19 17:08 test.txt
-rw-r--r--. 1 xrootd xrootd   10 Jun 19 17:09 new_name
drwxr-xr-x. 2 xrootd xrootd 4096 Jun 19 17:11 new_dir
(the 'new_dir' has been created)
[simonm@slc6-test ~]$ ls -ltr /tmp/new_dir/
total 0
(but it's empty)

on the client:
[simonm@idefix test]$ xrdcp ./test.txt root://slc6-test:1094//tmp/new_dir/
[10B/10B][100%][==================================================][10B/s]
(this time it works because the directory is already there)

on the server:
[simonm@slc6-test ~]$ ls -ltr /tmp/new_dir/
total 4
-rw-r--r--. 1 xrootd xrootd 10 Jun 19 17:15 test.txt

on the client:
[simonm@idefix test]$ xrdcp ./test.txt root://slc6-test:1094//tmp/other_dir/new_name
[10B/10B][100%][==================================================][10B/s]
(copy the file to new directory with new name, it worked!)

on the server:
[simonm@slc6-test ~]$ ls -ltr /tmp/
total 16
-rw-r--r--. 1 xrootd xrootd   10 Jun 19 17:08 test.txt
-rw-r--r--. 1 xrootd xrootd   10 Jun 19 17:09 new_name
drwxr-xr-x. 2 xrootd xrootd 4096 Jun 19 17:15 new_dir
drwxr-xr-x. 2 xrootd xrootd 4096 Jun 19 17:16 other_dir

[simonm@slc6-test ~]$ ls -ltr /tmp/other_dir/
total 4
-rw-r--r--. 1 xrootd xrootd 10 Jun 19 17:16 new_name
(so now it worked, xrootd managed to create the new directory and copy the file with new name)


To summarize: the only problem that I observed is that if a file is being copied to non-existent directory it fails (the directory is created but the file is not copied). Surprisingly if a file is being copied to non-existent directory with a different name everything is fine.

Michal




---
Reply to this email directly or view it on GitHub:
https://github.com/xrootd/xrootd/issues/243#issuecomment-113547393

########################################################################
Use REPLY-ALL to reply to list

To unsubscribe from the XROOTD-DEV list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1