kahing / goofys

a high-performance, POSIX-ish Amazon S3 file system written in Go
Apache License 2.0
5.2k stars 522 forks source link

Mac OSX Sierra GUI copy to S3 fails, but CLI cp works fine #260

Open pbretz opened 6 years ago

pbretz commented 6 years ago

Hi,

I've installed goofys on a Mac running OSX 10.12.6. I installed by using your instructions to compile from source using GO. I use the following to mount S3:

$HOME/bin/goofys

I get an OSXFUSE drive that displays on my desktop. If I open that drive and then drag and drop a file to it, the file appears to copy, but then I ultimately get the following error:

The operation can’t be completed because you don’t have permission to access some of the items.

However, if I cp the same file to the mounted directory using the command line, the file copies without any error. I can continue working from the command line, but am curious if you have any thoughts why I have an issue using drag and drop to the drive?

Pete

pbretz commented 6 years ago

Looks like my mount code got stripped out. Here it is:

$HOME/bin/goofys <bucket> <local directory mount>

kahing commented 6 years ago

I don't have an OS X machine to test, could you post the debug output with --debug_fuse?

pbretz commented 6 years ago

Here's output from:

  1. mounting drive
  2. opening drive on desktop
  3. renamed file on desktop before dragging to opened drive
  4. dragging file to opened drive
  5. failed copy
  6. drag mounted drive to trash to exit

OSX-debug_fuse-session.txt

kahing commented 6 years ago

Looks like the problem is Finder is trying to use xattr com.apple.FinderInfo. I am not sure how it's defined in POSIX (looks like it's not) but in Linux the xattr names are supposed to be namespaced, ie: user.blah or system.blah. Additionally goofys define virtual xattrs in the form of s3.blah.

Typically in Linux, xattr other than user.blah are not settable by regular users so I emulate that in goofys. Also, user.blah is converted to x-amz-meta-blah. If we want to support un-namespaced xattr, we will have to consider changing that to x-amz-meta-user-blah instead.

af-stefan commented 6 years ago

@pbretz did you ever figure out a solution to this?

include commented 5 years ago

Hi, I can see files with finder also but under cmdline yes.

nikhilbhardwaj commented 4 years ago

I'm possibly seeing the same issue, in Finder the directories are listed correctly but the files don't show up. Let me better illustrate this with a screenshot and what I see from the CLI -

❯ goofys --endpoint http://bondhu.local:9000 opendirectories-dump ~/Movies/open-directories
    ~ 
❯ cd ~/Movies/open-directories/103.109.215.30/103.109.215.30/FTP/Movies/Hindi/\(1995\)\ \&\ Before
    ~/Mo/o/103.109.215.30/103.109.215.30/FTP/Movies/Hindi/(1995) & Before 
❯ ls
100 Days (1991)                                             Gumrah (1993)                                               Prem Qaidi (1991)

    ~/Mo/o/103.109.215.30/103.109.215.30/FTP/Movies/Hindi/(1995) & Before 
❯ ls 100\ Days\ \(1991\)
100 Days (1991).avi

Whereas Finder draws a blank - Screen Shot 2020-02-19 at 2 55 08 PM

So I'm wondering if there is a workaround for this?

The performance of goofys is significantly better than s3fs as I'm able to stream movies and move back and forth without any lag (on my local network).

gjeusel commented 4 years ago

Hi there, having the same issue: "in Finder the directories are listed correctly but the files don't show up".

goofys version 0.24.0-45b8d78375af1b24604439d2e60c567654bcdf88

gjeusel commented 4 years ago

For those passing by this issue, I found rclone which has a mount sub-command. This fit my needs.

partounian commented 3 years ago

@gjeusel major thanks