Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't copy file from drive after mount #20

Closed
Vascom opened this issue Oct 2, 2013 · 9 comments
Closed

Can't copy file from drive after mount #20

Vascom opened this issue Oct 2, 2013 · 9 comments
Labels
Milestone

Comments

@Vascom
Copy link

Vascom commented Oct 2, 2013

I install google-drive-ocamlfuse via opam.
Mount my drive google-drive-ocamlfuse -debug google.drive
And try copy any file from Drive:
$ cp google.drive/Social/new_multipath_method.aac .
cp: error reading 'google.drive/Social/new_multipath_method.aac': Device or resource busy
cp: failed to extend './new_multipath_method.aac': Device or resource busy

But file exist:
$ ll google.drive/Social/new_multipath_method.aac
-rw-rw-r--. 1 vascom vascom 33M окт 2 2012 google.drive/Social/new_multipath_method.aac

Please help solve problem.

Debug log:
$ cat /home/vascom/.gdfuse/default/gdfuse.log
[0.113469] TID=0: Setting up default filesystem...
[0.113558] TID=0: Loading configuration from /home/vascom/.gdfuse/default/config...done
Saving configuration in /home/vascom/.gdfuse/default/config...done
[0.381024] TID=0: Loading application state from /home/vascom/.gdfuse/default/state...done
Current version: 0.4.4
Setting up cache db...done
Setting up CURL...done
Refresh token already present.
[0.913845] TID=0: Starting filesystem google.drive
[0.923281] TID=0: init_filesystem
[5.062186] TID=0: getattr /dragunkin_hrestomatia
Loading metadata from db...not valid
Refreshing metadata...done
Updating metadata in db...done
Updating context...done
Getting changes from server...done
Updating resource cache...done
Updating trashed resources...done
Removing deleted resources...done
Invalidating trash bin resource...done
Loading resource /dragunkin_hrestomatia (trashed=false) from db...found
[14.934202] TID=0: getattr /Social
Getting metadata from context...valid
Loading resource /Social (trashed=false) from db...found
[14.935310] TID=0: getattr /dragunkin_hrestomatia/About.txt
Getting metadata from context...valid
Loading resource /dragunkin_hrestomatia/About.txt (trashed=false) from db...found
[14.936389] TID=0: getattr /Social/new_multipath_method.aac
Getting metadata from context...valid
Loading resource /Social/new_multipath_method.aac (trashed=false) from db...found
[14.944169] TID=0: fopen /Social/new_multipath_method.aac O_RDONLY
Getting metadata from context...valid
Loading resource /Social/new_multipath_method.aac (trashed=false) from db...found
[14.945594] TID=0: read /Social/new_multipath_method.aac buf 0 0
Getting metadata from context...valid
Loading resource /Social/new_multipath_method.aac (trashed=false) from db...found
Checking MD5 checksum (path=/Social/new_multipath_method.aac, hash=26df982a9a8d8c163ed9237b10e3f505)...
File does not exists.
Downloading resource (id=3454)...Exception:GapiRequest.Forbidden()
Backtrace:
[15.449045] TID=0: read /Social/new_multipath_method.aac buf 0 0
Getting metadata from context...valid
Loading resource /Social/new_multipath_method.aac (trashed=false) from db...found
Checking MD5 checksum (path=/Social/new_multipath_method.aac, hash=26df982a9a8d8c163ed9237b10e3f505)...
File does not exists.
Downloading resource (id=3454)...Exception:GapiRequest.Forbidden(
)
Backtrace:
[15.907047] TID=0: flush /Social/new_multipath_method.aac 0
Getting metadata from context...valid
Loading resource /Social/new_multipath_method.aac (trashed=false) from db...found
[15.908236] TID=0: release /Social/new_multipath_method.aac O_RDONLY
Getting metadata from context...valid
Loading resource /Social/new_multipath_method.aac (trashed=false) from db...found

@Vascom
Copy link
Author

Vascom commented Oct 2, 2013

It copy good only after
google-drive-ocamlfuse -cc

@astrada
Copy link
Owner

astrada commented Oct 2, 2013

The problem is that the Drive API is returning a 403 HTTP error (Forbidden) for that file, so the application cannot download it. You should try to download and reupload it from the web interface (removing the old copy). Maybe this way, the file should be accessible.

@Vascom
Copy link
Author

Vascom commented Oct 3, 2013

It happens always after copying large number of files. I must do that:
fusermount -u google.drive
google-drive-ocamlfuse google.drive
And continue copying.

@astrada
Copy link
Owner

astrada commented Oct 3, 2013

Maybe you are going over API quota limits. It should not happen, because the current quota is 100 requests/user/second, and I think it's difficult to reach that limit. But I can run a couple of tests to see if I'm able to reproduce the problem.

@Vascom
Copy link
Author

Vascom commented Oct 3, 2013

Do it please.
It happens after copying about 500-1000 small files (0.1-1 MB).

@astrada
Copy link
Owner

astrada commented Oct 7, 2013

I did a couple of tests, uploading 1000 small files. On my slow connection (I have an upload rate of about 50KB/s), it took more than 3 hours, but I didn't experience your problem (the forbidden error). Do you have a faster connection? If your connection is very fast, I think you could hit the Drive API quota and get that kind of error. Maybe I can add some code to handle that situation, retrying after a little bit of time.

@Vascom
Copy link
Author

Vascom commented Oct 7, 2013

Yes, I have fast connection 50-100 MBit/sec.

astrada added a commit that referenced this issue Oct 7, 2013
Refresh resource during error handling to get the updated download link,
because expired download links raise a Forbidden exception.
@astrada
Copy link
Owner

astrada commented Oct 7, 2013

I've found the real problem. It's related to expired download links. Downloading files using an expired link causes a 403 error. I should have fixed this issue in version 0.4.6.

@astrada
Copy link
Owner

astrada commented Nov 2, 2013

I'm closing this issue. If you still have problems, let me know.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants