ovh / svfs

The Swift Virtual File System
Other
374 stars 54 forks source link

Windows server 2012 R2 samba copied files 0kb in size #151

Open sekurilabs opened 6 years ago

sekurilabs commented 6 years ago

Hi,

I'm using latest svfs to mount vanilla swift storage in linux. Mounted storage is then shared with a windows server via samba (cifs) and mounted as a disk in windows server.

Now I'm trying to copy files to the mounted samba (swift storage and all of them copy with file size 0 kb or empty).

I'm mounting swift with following command in ubuntu server: mount -t svfs -o username=swift_user,password=pswd,tenant=store,auth_url="http://1.2.3.4:5000/v2.0",mode=0777,allow_other,attr,xattr,go_gc=50 device /home/ubuntu/storage_folder

What am I doing wrong?

Update: Moving files from ubuntu server to mounted storage containers (folders) also results in files in size of 0. Copying works.

Update 2: Windows is reporting: "Request operation is not supported" on copying files or moving them via powershell. Copying files or moving them through explorer just hangs forever. I can create containers and empty files from explorer, but not copy files. I can access files already stored in the store.

Update 3 (debug output):

DEBU[2017-10-21T13:53:01Z] -> [ID=0x158b] Create error=operation not supported  source=fuse
DEBU[2017-10-21T13:53:01Z] <- Lookup [ID=0x158c Node=0x7 Uid=0 Gid=0 Pid=5042] "1.txt"  source=fuse
DEBU[2017-10-21T13:53:01Z] -> [ID=0x158c] Lookup error=ENOENT   source=fuse
DEBU[2017-10-21T13:53:01Z] <- Lookup [ID=0x158d Node=0x7 Uid=0 Gid=0 Pid=5042] "1.txt"  source=fuse
DEBU[2017-10-21T13:53:01Z] -> [ID=0x158d] Lookup error=ENOENT   source=fuse
DEBU[2017-10-21T13:53:01Z] <- Open [ID=0x158e Node=0x7 Uid=0 Gid=0 Pid=5042] dir=true fl=OpenReadOnly+OpenDirectory+OpenNonblock  source=fuse
DEBU[2017-10-21T13:53:01Z] -> [ID=0x158e] Open 0x3 fl=0         source=fuse
DEBU[2017-10-21T13:53:01Z] <- Read [ID=0x158f Node=0x7 Uid=0 Gid=0 Pid=5042] 0x3 4096 @0x0 dir=true fl=0 lock=0 ffl=OpenReadOnly+OpenDirectory+OpenNonblock  source=fuse
DEBU[2017-10-21T13:53:01Z] -> [ID=0x158f] Read 0                source=fuse
DEBU[2017-10-21T13:53:01Z] <- Getattr [ID=0x1591 Node=0x7 Uid=0 Gid=0 Pid=5042] 0x0 fl=0  source=fuse
DEBU[2017-10-21T13:53:01Z] -> [ID=0x1591] Getattr valid=1m0s ino=14597221540505887712 size=4096 mode=drwxrwxrwx  source=fuse
DEBU[2017-10-21T13:53:01Z] <- Lookup [ID=0x1592 Node=0x7 Uid=0 Gid=0 Pid=5042] "1.txt"  source=fuse
DEBU[2017-10-21T13:53:01Z] <- Release [ID=0x1590 Node=0x7 Uid=0 Gid=0 Pid=0] 0x3 fl=OpenReadOnly+OpenDirectory+OpenNonblock rfl=0 owner=0x0  source=fuse
DEBU[2017-10-21T13:53:01Z] -> [ID=0x1590] Release               source=fuse
DEBU[2017-10-21T13:53:01Z] -> [ID=0x1592] Lookup error=ENOENT   source=fuse
DEBU[2017-10-21T13:53:01Z] <- Create [ID=0x1593 Node=0x7 Uid=0 Gid=0 Pid=5042] "1.txt" fl=OpenReadWrite+OpenCreate+OpenExclusive mode=-rwxr--r-- umask=-----w--w-  source=fuse

Update 4: Cloudfuse works and I can copy files, but it's seriously unstable and crashes all the time.

@xlucas Can you help me out on this? It's kinda urgent.

Update 5: OpenReadWrite is not supported and this is not a PUT request like OpenWriteOnly which is why operation fails. I have probably answered my question.

Thanks!

alebeta90 commented 4 years ago

Hi @vsecure

did you manage to solve this issue? I'm also getting an error=ENOENT

greetings

sekurilabs commented 4 years ago

Unfortunately not, openstack doesn't support mv command, only copy. To move the file you need to copy it first to new destination, and then remove the file in the original destination.