[GH-ISSUE #1633] "Input/output error", "could not link mirror file" when caching on ExFAT filesystem (file I/O only) #857

Closed
opened 2026-03-04 01:49:25 +03:00 by kerem · 5 comments
Owner

Originally created by @ryan-williams on GitHub (Apr 24, 2021).
Original GitHub issue: https://github.com/s3fs-fuse/s3fs-fuse/issues/1633

Update / Resolution

per https://github.com/s3fs-fuse/s3fs-fuse/issues/1633#issuecomment-826179605, it seems that s3fs caching requires hard-link capability on the filesystem where the cache lives, which ExFAT/FAT32 doesn't support, resulting in the errors below.

There's an open q about whether s3fs caching needs to use hard links (https://github.com/s3fs-fuse/s3fs-fuse/issues/1633#issuecomment-826336020), but changing it would presumably be significant work, so for now I interpret the resolution as "reformat my external SSD to use a filesystem that supports hard-linking".


Details about issue

When enabling use_cache on an external SSD (Samsung T7), stat and ls operations work, but reading/writing file contents fails with could not link mirror file error msgs.

  • If I instead point use_cache at a path on my macbook's internal SSD, everything works fine.
  • behavior is the same whether the mount-point itself is on the external or internal SSD; all that matters is which disk the cache is on
  • could not link mirror file seems to be the most descriptive error msg (source pointer)

Example broken cmd

Mounting s3://ctbk on external "T7" SSD (mounted at /Volumes/T7), w/ cache also on T7:

s3fs ctbk /Volumes/T7/s3/ctbk -d -d -f -o passwd_file=~/.aws/ctbk -o use_cache=/Volumes/T7/tmp

ls, stat operations work

In another terminal, I can ls the bucket; files and sizes appear correctly:

$ ls -l /Volumes/T7/s3/ctbk
…
-rw-r----- 1 ryan staff     7114 Mar 12 10:39 index.html
-rw-r----- 1 ryan staff    43967 Mar 12 10:27 year-month-region-gender-weekday.parquet
-rw-r----- 1 ryan staff     8914 Mar 28 21:27 year-month-weekday-hour-region-gender_rides_201306.parquet
-rw-r----- 1 ryan staff    15029 Mar 28 21:31 year-month-weekday-hour-region-gender_rides_201307.parquet
-rw-r----- 1 ryan staff    17877 Mar 28 21:32 year-month-weekday-hour-region-gender_rides_201308.parquet
…

Any I/O (cat/head/touch) gives Input/output error

$ head /Volumes/T7/s3/ctbk/index.html
head: /Volumes/T7/s3/ctbk/index.html: Input/output error
The s3fs -f cmd shows a could not link mirror file error:
[INF] s3fs.cpp:s3fs_open(2132): [path=/index.html][flags=0x0]
[INF] s3fs.cpp:s3fs_flush(2264): [path=/index.html][fd=0]
[INF]       cache.cpp:DelStat(590): delete stat cache entry[path=/index.html]
[INF]       curl.cpp:HeadRequest(3159): [tpath=/index.html]
[INF]       curl.cpp:PreHeadRequest(3119): [tpath=/index.html][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/index.html
[INF]       curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/index.html
[INF]       curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/index.html] [] []
[INF]       curl.cpp:url_to_host(99): url is https://s3.amazonaws.com
[INF]       curl.cpp:RequestPerform(2520): HTTP response code 200
[INF]       cache.cpp:AddStat(379): add stat cache entry[path=/index.html]
[ERR] fdcache.cpp:OpenMirrorFile(1460): could not link mirror file(/Volumes/T7/tmp/.ctbk.mirror/577190e8.tmp) to cache file(/Volumes/T7/tmp/ctbk/index.html) by errno(45).
[ERR] fdcache.cpp:Open(1613): failed to open mirror file linked cache file(/Volumes/T7/tmp/ctbk/index.html).
$ echo foo > /Volumes/T7/s3/ctbk/test.txt
-bash: /Volumes/T7/s3/ctbk/test.txt: Input/output error
Similar could not link mirror file error in the s3fs session.
[INF] s3fs.cpp:s3fs_create(1013): [path=/test.txt][mode=100644][flags=0xa02]
[INF]       curl.cpp:HeadRequest(3159): [tpath=/test.txt]
[INF]       curl.cpp:PreHeadRequest(3119): [tpath=/test.txt][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/test.txt
[INF]       curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/test.txt
[INF]       curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/test.txt] [] []
[INF]       curl.cpp:url_to_host(99): url is https://s3.amazonaws.com
[INF]       curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT
[INF]       curl.cpp:HeadRequest(3159): [tpath=/test.txt/]
[INF]       curl.cpp:PreHeadRequest(3119): [tpath=/test.txt/][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/test.txt/
[INF]       curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/test.txt/
[INF]       curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/test.txt/] [] []
[INF]       curl.cpp:url_to_host(99): url is https://s3.amazonaws.com
[INF]       curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT
[INF]       curl.cpp:HeadRequest(3159): [tpath=/test.txt_$folder$]
[INF]       curl.cpp:PreHeadRequest(3119): [tpath=/test.txt_$folder$][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/test.txt_%24folder%24
[INF]       curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/test.txt_%24folder%24
[INF]       curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/test.txt_$folder$] [] []
[INF]       curl.cpp:url_to_host(99): url is https://s3.amazonaws.com
[INF]       curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT
[INF]   s3fs.cpp:list_bucket(2558): [path=/test.txt]
[INF]       curl.cpp:ListBucketRequest(3560): [tpath=/test.txt]
[INF]       curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk?delimiter=/&max-keys=2&prefix=test.txt/
[INF]       curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com?delimiter=/&max-keys=2&prefix=test.txt/
[INF]       curl.cpp:insertV4Headers(2863): computing signature [GET] [/] [delimiter=/&max-keys=2&prefix=test.txt/] []
[INF]       curl.cpp:url_to_host(99): url is https://s3.amazonaws.com
[INF]       curl.cpp:RequestPerform(2520): HTTP response code 200
[INF]     s3fs.cpp:create_file_object(970): [path=/test.txt][mode=100644]
[INF]       curl.cpp:PutRequest(3330): [tpath=/test.txt]
[INF]       curl.cpp:PutRequest(3348): create zero byte file object.
[INF]       curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/test.txt
[INF]       curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/test.txt
[INF]       curl.cpp:PutRequest(3433): uploading... [path=/test.txt][fd=-1][size=0]
[INF]       curl.cpp:insertV4Headers(2863): computing signature [PUT] [/test.txt] [] []
[INF]       curl.cpp:url_to_host(99): url is https://s3.amazonaws.com
[INF]       curl.cpp:RequestPerform(2520): HTTP response code 200
[INF]       cache.cpp:DelStat(590): delete stat cache entry[path=/test.txt]
[INF]       curl.cpp:HeadRequest(3159): [tpath=/test.txt]
[INF]       curl.cpp:PreHeadRequest(3119): [tpath=/test.txt][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/test.txt
[INF]       curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/test.txt
[INF]       curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/test.txt] [] []
[INF]       curl.cpp:url_to_host(99): url is https://s3.amazonaws.com
[INF]       curl.cpp:RequestPerform(2520): HTTP response code 200
[INF]       cache.cpp:AddStat(379): add stat cache entry[path=/test.txt]
[ERR] fdcache.cpp:OpenMirrorFile(1460): could not link mirror file(/Volumes/T7/tmp/.ctbk.mirror/4a53deb7.tmp) to cache file(/Volumes/T7/tmp/ctbk/test.txt) by errno(45).
[ERR] fdcache.cpp:Open(1613): failed to open mirror file linked cache file(/Volumes/T7/tmp/ctbk/test.txt).

Empty file was created, contents failed to write

The previous command created an empty file (in the cache and in S3), but its contents were never written:

$ ls -l /Volumes/T7/s3/ctbk/test.txt
-rw-r--r-- 1 ryan staff 0 Apr 24 11:07 /Volumes/T7/s3/ctbk/test.txt
$ aws s3 ls s3://ctbk/test.txt
2021-04-24 11:07:54          0 test.txt
(The initial ls -l also triggers a warning indicating mirror cache problems: failed to remove mirror cache file)
LOOKUP /test.txt
getattr /test.txt
[INF] s3fs.cpp:s3fs_getattr(828): [path=/test.txt]
[INF]       curl.cpp:HeadRequest(3159): [tpath=/test.txt]
[INF]       curl.cpp:PreHeadRequest(3119): [tpath=/test.txt][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/test.txt
[INF]       curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/test.txt
[INF]       curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/test.txt] [] []
[INF]       curl.cpp:url_to_host(99): url is https://s3.amazonaws.com
[INF]       curl.cpp:RequestPerform(2520): HTTP response code 200
[INF]       cache.cpp:AddStat(379): add stat cache entry[path=/test.txt]
[WAN] fdcache.cpp:Close(1398): failed to remove mirror cache file(/Volumes/T7/tmp/.ctbk.mirror/4a53deb7.tmp) by errno(2).
   NODEID: 262
   unique: 2, success, outsize: 160
unique: 3, opcode: ACCESS (34), nodeid: 262, insize: 48, pid: 19721
access /test.txt 00

Example working cmd:

s3fs ctbk /Volumes/T7/s3/ctbk -d -d -f -o passwd_file=~/.aws/ctbk -o use_cache=~/tmp/s3

The only difference is moving the cache from /Volumes/T7/tmp to ~/tmp/s3. Note that the mount-point itself is still on the external SSD, but everything works. Something about the cache specifically being on external SSD causes the issue.

With this, I can run the previous commands:

head /Volumes/T7/s3/ctbk/index.html
echo yay > /Volumes/T7/s3/ctbk/test.txt
cat /Volumes/T7/s3/ctbk/test.txt  # "yay" ✅
ls -l ~/tmp/s3/ctbk/test.txt  # updated to point at new, internal-SSD cache location
cat ~/tmp/s3/ctbk/test.txt  # "yay" ✅

and get the expected results and no errors/warnings.

Permissions

Note the permissions seem more permissive in the broken external SSD case, so I don't think they are an issue:

$ dir-perms ~/tmp/s3/ctbk/index.html
drwxr-xr-x   20   root  wheel  640   Jan  1   2020   /
drwxr-xr-x   8    root  admin  256   Jan  1   2020   /Users
drwxr-xr-x+  201  ryan  staff  6432  Apr  23  23:04  /Users/ryan
drwxr-xr-x   9    ryan  staff  288   Apr  24  11:00  /Users/ryan/tmp
drwxr-xr-x   5    ryan  staff  160   Apr  24  11:00  /Users/ryan/tmp/s3
drwxr-xr-x   3    ryan  staff  96    Apr  24  11:00  /Users/ryan/tmp/s3/ctbk
-rw-------   1    ryan  staff  7114  Mar  12  10:39  /Users/ryan/tmp/s3/ctbk/index.html
$ dir-perms /Volumes/T7/tmp/ctbk/index.html
drwxr-xr-x  20  root  wheel  640     Jan  1   2020   /
drwxr-xr-x  4   root  wheel  128     Apr  23  23:04  /Volumes
drwxrwxrwx  1   ryan  staff  131072  Dec  31  1979   /Volumes/T7
drwxrwxrwx  1   ryan  staff  131072  Apr  23  20:23  /Volumes/T7/tmp
drwxrwxrwx  1   ryan  staff  131072  Apr  24  10:35  /Volumes/T7/tmp/ctbk
-rwxrwxrwx  1   ryan  staff  0       Apr  24  10:35  /Volumes/T7/tmp/ctbk/index.html

(unrelated: dir-perms script)

Additional Information

Version of s3fs being used (s3fs --version)

$ s3fs --version
Amazon Simple Storage Service File System V1.87 (commit:unknown) with GnuTLS(gcrypt)
Copyright (C) 2010 Randy Rizun <rrizun@gmail.com>
License GPL2: GNU GPL version 2 <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Version of fuse being used (pkg-config --modversion fuse, rpm -qi fuse, dpkg -s fuse)

macFUSE 4.1.0
image

Kernel information (uname -r)

$ uname -a
Darwin mbp-2 20.3.0 Darwin Kernel Version 20.3.0: Thu Jan 21 00:07:06 PST 2021; root:xnu-7195.81.3~1/RELEASE_X86_64 x86_64

macOS Big Sur 11.2.3

s3fs command line used, if applicable

As above, broken cmd:

s3fs ctbk /Volumes/T7/s3/ctbk -d -d -f -o passwd_file=~/.aws/ctbk -o use_cache=/Volumes/T7/tmp

It's still broken if I mount on my macbook SSD (but leave the cache on the external SSD):

s3fs ctbk ~/s3/ctbk -d -d -f -o passwd_file=~/.aws/ctbk -o use_cache=/Volumes/T7/tmp

Working cmd:

s3fs ctbk /Volumes/T7/s3/ctbk -d -d -f -o passwd_file=~/.aws/ctbk -o use_cache=~/tmp/s3

Mount-point + cache both on macbook SSD also works:

s3fs ctbk ~/s3/ctbk -d -d -f -o passwd_file=~/.aws/ctbk -o use_cache=~/tmp/s3

/etc/fstab entry, if applicable

N/A

Originally created by @ryan-williams on GitHub (Apr 24, 2021). Original GitHub issue: https://github.com/s3fs-fuse/s3fs-fuse/issues/1633 # Update / Resolution per https://github.com/s3fs-fuse/s3fs-fuse/issues/1633#issuecomment-826179605, it seems that s3fs caching requires hard-link capability on the filesystem where the cache lives, which ExFAT/FAT32 doesn't support, resulting in the errors below. There's an open q about whether s3fs caching needs to use hard links (https://github.com/s3fs-fuse/s3fs-fuse/issues/1633#issuecomment-826336020), but changing it would presumably be significant work, so for now I interpret the resolution as "reformat my external SSD to use a filesystem that supports hard-linking". --- # Details about issue When enabling `use_cache` on an external SSD ([Samsung T7](https://www.amazon.com/gp/product/B0874XWW23/)), `stat` and `ls` operations work, but reading/writing file contents fails with `could not link mirror file` error msgs. - If I instead point `use_cache` at a path on my macbook's internal SSD, everything works fine. - behavior is the same whether the mount-point itself is on the external or internal SSD; all that matters is which disk the cache is on - `could not link mirror file` seems to be the most descriptive error msg ([source pointer](https://github.com/s3fs-fuse/s3fs-fuse/blob/v1.87/src/fdcache.cpp#L1460)) ## Example broken cmd Mounting [`s3://ctbk`](https://s3.amazonaws.com/ctbk/index.html) on external "T7" SSD (mounted at `/Volumes/T7`), w/ cache also on T7: ```bash s3fs ctbk /Volumes/T7/s3/ctbk -d -d -f -o passwd_file=~/.aws/ctbk -o use_cache=/Volumes/T7/tmp ``` ### `ls`, `stat` operations work In another terminal, I can `ls` the bucket; files and sizes appear correctly: ``` $ ls -l /Volumes/T7/s3/ctbk … -rw-r----- 1 ryan staff 7114 Mar 12 10:39 index.html -rw-r----- 1 ryan staff 43967 Mar 12 10:27 year-month-region-gender-weekday.parquet -rw-r----- 1 ryan staff 8914 Mar 28 21:27 year-month-weekday-hour-region-gender_rides_201306.parquet -rw-r----- 1 ryan staff 15029 Mar 28 21:31 year-month-weekday-hour-region-gender_rides_201307.parquet -rw-r----- 1 ryan staff 17877 Mar 28 21:32 year-month-weekday-hour-region-gender_rides_201308.parquet … ``` ### Any I/O (`cat`/`head`/`touch`) gives `Input/output error` #### Reading a file fails (`could not link mirror file`) ``` $ head /Volumes/T7/s3/ctbk/index.html head: /Volumes/T7/s3/ctbk/index.html: Input/output error ``` <details> <summary> The <code>s3fs -f</code> cmd shows a <code>could not link mirror file</code> error: </summary> ``` [INF] s3fs.cpp:s3fs_open(2132): [path=/index.html][flags=0x0] [INF] s3fs.cpp:s3fs_flush(2264): [path=/index.html][fd=0] [INF] cache.cpp:DelStat(590): delete stat cache entry[path=/index.html] [INF] curl.cpp:HeadRequest(3159): [tpath=/index.html] [INF] curl.cpp:PreHeadRequest(3119): [tpath=/index.html][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/index.html [INF] curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/index.html [INF] curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/index.html] [] [] [INF] curl.cpp:url_to_host(99): url is https://s3.amazonaws.com [INF] curl.cpp:RequestPerform(2520): HTTP response code 200 [INF] cache.cpp:AddStat(379): add stat cache entry[path=/index.html] [ERR] fdcache.cpp:OpenMirrorFile(1460): could not link mirror file(/Volumes/T7/tmp/.ctbk.mirror/577190e8.tmp) to cache file(/Volumes/T7/tmp/ctbk/index.html) by errno(45). [ERR] fdcache.cpp:Open(1613): failed to open mirror file linked cache file(/Volumes/T7/tmp/ctbk/index.html). ``` </details> #### Simple write operation fails (`could not link mirror file`) ``` $ echo foo > /Volumes/T7/s3/ctbk/test.txt -bash: /Volumes/T7/s3/ctbk/test.txt: Input/output error ``` <details> <summary>Similar <code>could not link mirror file</code> error in the <code>s3fs</code> session.</summary> ``` [INF] s3fs.cpp:s3fs_create(1013): [path=/test.txt][mode=100644][flags=0xa02] [INF] curl.cpp:HeadRequest(3159): [tpath=/test.txt] [INF] curl.cpp:PreHeadRequest(3119): [tpath=/test.txt][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/test.txt [INF] curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/test.txt [INF] curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/test.txt] [] [] [INF] curl.cpp:url_to_host(99): url is https://s3.amazonaws.com [INF] curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT [INF] curl.cpp:HeadRequest(3159): [tpath=/test.txt/] [INF] curl.cpp:PreHeadRequest(3119): [tpath=/test.txt/][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/test.txt/ [INF] curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/test.txt/ [INF] curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/test.txt/] [] [] [INF] curl.cpp:url_to_host(99): url is https://s3.amazonaws.com [INF] curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT [INF] curl.cpp:HeadRequest(3159): [tpath=/test.txt_$folder$] [INF] curl.cpp:PreHeadRequest(3119): [tpath=/test.txt_$folder$][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/test.txt_%24folder%24 [INF] curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/test.txt_%24folder%24 [INF] curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/test.txt_$folder$] [] [] [INF] curl.cpp:url_to_host(99): url is https://s3.amazonaws.com [INF] curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT [INF] s3fs.cpp:list_bucket(2558): [path=/test.txt] [INF] curl.cpp:ListBucketRequest(3560): [tpath=/test.txt] [INF] curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk?delimiter=/&max-keys=2&prefix=test.txt/ [INF] curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com?delimiter=/&max-keys=2&prefix=test.txt/ [INF] curl.cpp:insertV4Headers(2863): computing signature [GET] [/] [delimiter=/&max-keys=2&prefix=test.txt/] [] [INF] curl.cpp:url_to_host(99): url is https://s3.amazonaws.com [INF] curl.cpp:RequestPerform(2520): HTTP response code 200 [INF] s3fs.cpp:create_file_object(970): [path=/test.txt][mode=100644] [INF] curl.cpp:PutRequest(3330): [tpath=/test.txt] [INF] curl.cpp:PutRequest(3348): create zero byte file object. [INF] curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/test.txt [INF] curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/test.txt [INF] curl.cpp:PutRequest(3433): uploading... [path=/test.txt][fd=-1][size=0] [INF] curl.cpp:insertV4Headers(2863): computing signature [PUT] [/test.txt] [] [] [INF] curl.cpp:url_to_host(99): url is https://s3.amazonaws.com [INF] curl.cpp:RequestPerform(2520): HTTP response code 200 [INF] cache.cpp:DelStat(590): delete stat cache entry[path=/test.txt] [INF] curl.cpp:HeadRequest(3159): [tpath=/test.txt] [INF] curl.cpp:PreHeadRequest(3119): [tpath=/test.txt][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/test.txt [INF] curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/test.txt [INF] curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/test.txt] [] [] [INF] curl.cpp:url_to_host(99): url is https://s3.amazonaws.com [INF] curl.cpp:RequestPerform(2520): HTTP response code 200 [INF] cache.cpp:AddStat(379): add stat cache entry[path=/test.txt] [ERR] fdcache.cpp:OpenMirrorFile(1460): could not link mirror file(/Volumes/T7/tmp/.ctbk.mirror/4a53deb7.tmp) to cache file(/Volumes/T7/tmp/ctbk/test.txt) by errno(45). [ERR] fdcache.cpp:Open(1613): failed to open mirror file linked cache file(/Volumes/T7/tmp/ctbk/test.txt). ``` </details> #### Empty file was created, contents failed to write The previous command created an empty file (in the cache and in S3), but its contents were never written: ``` $ ls -l /Volumes/T7/s3/ctbk/test.txt -rw-r--r-- 1 ryan staff 0 Apr 24 11:07 /Volumes/T7/s3/ctbk/test.txt $ aws s3 ls s3://ctbk/test.txt 2021-04-24 11:07:54 0 test.txt ``` <details> <summary> (The initial <code>ls -l</code> also triggers a warning indicating mirror cache problems: <code>failed to remove mirror cache file</code>) </summary> ``` LOOKUP /test.txt getattr /test.txt [INF] s3fs.cpp:s3fs_getattr(828): [path=/test.txt] [INF] curl.cpp:HeadRequest(3159): [tpath=/test.txt] [INF] curl.cpp:PreHeadRequest(3119): [tpath=/test.txt][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/test.txt [INF] curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/test.txt [INF] curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/test.txt] [] [] [INF] curl.cpp:url_to_host(99): url is https://s3.amazonaws.com [INF] curl.cpp:RequestPerform(2520): HTTP response code 200 [INF] cache.cpp:AddStat(379): add stat cache entry[path=/test.txt] [WAN] fdcache.cpp:Close(1398): failed to remove mirror cache file(/Volumes/T7/tmp/.ctbk.mirror/4a53deb7.tmp) by errno(2). NODEID: 262 unique: 2, success, outsize: 160 unique: 3, opcode: ACCESS (34), nodeid: 262, insize: 48, pid: 19721 access /test.txt 00 ``` </details> ## Example working cmd: ```bash s3fs ctbk /Volumes/T7/s3/ctbk -d -d -f -o passwd_file=~/.aws/ctbk -o use_cache=~/tmp/s3 ``` The only difference is moving the cache from `/Volumes/T7/tmp` to `~/tmp/s3`. **Note that the mount-point itself is still on the external SSD, but everything works**. Something about the cache specifically being on external SSD causes the issue. With this, I can run the previous commands: ```bash head /Volumes/T7/s3/ctbk/index.html echo yay > /Volumes/T7/s3/ctbk/test.txt cat /Volumes/T7/s3/ctbk/test.txt # "yay" ✅ ls -l ~/tmp/s3/ctbk/test.txt # updated to point at new, internal-SSD cache location cat ~/tmp/s3/ctbk/test.txt # "yay" ✅ ``` and get the expected results and no errors/warnings. ### Permissions Note the permissions seem more permissive in the broken external SSD case, so I don't think they are an issue: ``` $ dir-perms ~/tmp/s3/ctbk/index.html drwxr-xr-x 20 root wheel 640 Jan 1 2020 / drwxr-xr-x 8 root admin 256 Jan 1 2020 /Users drwxr-xr-x+ 201 ryan staff 6432 Apr 23 23:04 /Users/ryan drwxr-xr-x 9 ryan staff 288 Apr 24 11:00 /Users/ryan/tmp drwxr-xr-x 5 ryan staff 160 Apr 24 11:00 /Users/ryan/tmp/s3 drwxr-xr-x 3 ryan staff 96 Apr 24 11:00 /Users/ryan/tmp/s3/ctbk -rw------- 1 ryan staff 7114 Mar 12 10:39 /Users/ryan/tmp/s3/ctbk/index.html $ dir-perms /Volumes/T7/tmp/ctbk/index.html drwxr-xr-x 20 root wheel 640 Jan 1 2020 / drwxr-xr-x 4 root wheel 128 Apr 23 23:04 /Volumes drwxrwxrwx 1 ryan staff 131072 Dec 31 1979 /Volumes/T7 drwxrwxrwx 1 ryan staff 131072 Apr 23 20:23 /Volumes/T7/tmp drwxrwxrwx 1 ryan staff 131072 Apr 24 10:35 /Volumes/T7/tmp/ctbk -rwxrwxrwx 1 ryan staff 0 Apr 24 10:35 /Volumes/T7/tmp/ctbk/index.html ``` (unrelated: [`dir-perms` script](https://github.com/ryan-williams/perms-helpers/blob/0fdf62c1b0589bd06b7f7ca0baa5a78f10fe9d21/dir-perms)) # Additional Information ## Version of s3fs being used (s3fs --version) ``` $ s3fs --version Amazon Simple Storage Service File System V1.87 (commit:unknown) with GnuTLS(gcrypt) Copyright (C) 2010 Randy Rizun <rrizun@gmail.com> License GPL2: GNU GPL version 2 <https://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. ``` ## Version of fuse being used (pkg-config --modversion fuse, rpm -qi fuse, dpkg -s fuse) macFUSE 4.1.0 ![image](https://user-images.githubusercontent.com/465045/115945257-dfab8700-a488-11eb-9585-68cf03e47878.png) ## Kernel information (uname -r) ``` $ uname -a Darwin mbp-2 20.3.0 Darwin Kernel Version 20.3.0: Thu Jan 21 00:07:06 PST 2021; root:xnu-7195.81.3~1/RELEASE_X86_64 x86_64 ``` macOS Big Sur 11.2.3 ## s3fs command line used, if applicable As above, broken cmd: ```bash s3fs ctbk /Volumes/T7/s3/ctbk -d -d -f -o passwd_file=~/.aws/ctbk -o use_cache=/Volumes/T7/tmp ``` It's still broken if I mount on my macbook SSD (but leave the cache on the external SSD): ```bash s3fs ctbk ~/s3/ctbk -d -d -f -o passwd_file=~/.aws/ctbk -o use_cache=/Volumes/T7/tmp ``` ### Working cmd: ```bash s3fs ctbk /Volumes/T7/s3/ctbk -d -d -f -o passwd_file=~/.aws/ctbk -o use_cache=~/tmp/s3 ``` Mount-point + cache both on macbook SSD also works: ```bash s3fs ctbk ~/s3/ctbk -d -d -f -o passwd_file=~/.aws/ctbk -o use_cache=~/tmp/s3 ``` ## /etc/fstab entry, if applicable N/A
kerem 2026-03-04 01:49:25 +03:00
  • closed this issue
  • added the
    need info
    label
Author
Owner

@gaul commented on GitHub (Apr 25, 2021):

Could you share the entire "could not link mirror file" error log? This includes the errno which would help diagnose this issue. I can think of two causes:

  • What filesystem do you use on the external drive? FAT32 does not support hard links so we expect an error
  • Are the mirror file and cache file on different file systems? Hard links can only be created on the same filesystem.

Also I notice you have gotten s3fs to work with a newer version of MacFUSE. We could use some help in #1632 documenting how to get this to work with newer hardware and versions.

<!-- gh-comment-id:826179605 --> @gaul commented on GitHub (Apr 25, 2021): Could you share the entire "could not link mirror file" error log? This includes the errno which would help diagnose this issue. I can think of two causes: * What filesystem do you use on the external drive? FAT32 does not support hard links so we expect an error * Are the mirror file and cache file on different file systems? Hard links can only be created on the same filesystem. Also I notice you have gotten s3fs to work with a newer version of MacFUSE. We could use some help in #1632 documenting how to get this to work with newer hardware and versions.
Author
Owner

@ryan-williams commented on GitHub (Apr 25, 2021):

Could you share the entire "could not link mirror file" error log? This includes the errno which would help diagnose this issue.

Sure, sorry I didn't include the full output previously.

Terminal 1:

s3fs ctbk ~/s3/ctbk -d -d -f -o passwd_file=~/.aws/ctbk -o use_cache=/Volumes/T7/tmp &> ~/s3fs-out.txt

Terminal 2:

head ~/s3/ctbk/index.html  # Input/output error
Resulting ~/s3fs-out.txt
FUSE library version: 2.9.9
nullpath_ok: 0
nopath: 0
utime_omit_ok: 0
unique: 2, opcode: INIT (26), nodeid: 0, insize: 56, pid: 12469
INIT: 7.19
flags=0xee000008
max_readahead=0x00100000
   INIT: 7.19
   flags=0x00000010
   max_readahead=0x00100000
   max_write=0x02000000
   max_background=0
   congestion_threshold=0
   unique: 2, success, outsize: 40
unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 0
statfs /
unique: 3, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 12469
statfs /
   unique: 3, success, outsize: 96
   unique: 2, success, outsize: 96
unique: 3, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 96
statfs /
   unique: 3, success, outsize: 96
unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 147
statfs /
   unique: 2, success, outsize: 96
unique: 3, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 147
statfs /
   unique: 3, success, outsize: 96
unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 147
statfs /
   unique: 2, success, outsize: 96
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 615
access / 00
   unique: 3, success, outsize: 16
unique: 2, opcode: GETATTR (3), nodeid: 1, insize: 56, pid: 615
getattr /
   unique: 2, success, outsize: 136
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 685
unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 615
statfs /
   unique: 2, success, outsize: 96
access / 00
   unique: 3, success, outsize: 16
unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 615
unique: 3, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 685
statfs /
access / 00
   unique: 3, success, outsize: 96
   unique: 2, success, outsize: 16
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 746
access / 00
   unique: 3, success, outsize: 16
unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 615
statfs /
   unique: 2, success, outsize: 96
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 148
unique: 4, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 746
statfs /
   unique: 4, success, outsize: 96
access / 00
   unique: 3, success, outsize: 16
unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 773
access / 00
   unique: 2, success, outsize: 16
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 685
access / 00
   unique: 4, success, outsize: 16
unique: 3, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 148
statfs /
   unique: 3, success, outsize: 96
unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 615
access / 00
   unique: 2, success, outsize: 16
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1404
access / 00
   unique: 4, success, outsize: 16
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 148
access / 00
   unique: 3, success, outsize: 16
unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 773
statfs /
   unique: 2, success, outsize: 96
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 774
access / 00
   unique: 4, success, outsize: 16
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 7775
access / 00
   unique: 3, success, outsize: 16
unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 7793
access / 00
   unique: 2, success, outsize: 16
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 7753
access / 00
   unique: 4, success, outsize: 16
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 746
access / 00
   unique: 3, success, outsize: 16
unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 615
access / 00
   unique: 2, success, outsize: 16
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 7857
access / 00
   unique: 4, success, outsize: 16
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 7771
access / 00
   unique: 3, success, outsize: 16
unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 773
access / 00
   unique: 2, success, outsize: 16
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 8019
access / 00
   unique: 4, success, outsize: 16
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 7858
access / 00
   unique: 3, success, outsize: 16
unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 10382
access / 00
   unique: 2, success, outsize: 16
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 7791
access / 00
   unique: 4, success, outsize: 16
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 76393
access / 00
   unique: 3, success, outsize: 16
unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 10382
access / 04
   unique: 2, success, outsize: 16
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 7038
access / 00
   unique: 4, success, outsize: 16
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 7784
access / 00
   unique: 3, success, outsize: 16
unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 637
access / 00
   unique: 2, success, outsize: 16
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 773
access / 00
   unique: 4, success, outsize: 16
unique: 3, opcode: GETXATTR (22), nodeid: 1, insize: 77, pid: 773
getxattr / com.apple.FinderInfo 32 0
   unique: 3, success, outsize: 48
unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 00
   unique: 2, success, outsize: 16
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 00
   unique: 4, success, outsize: 16
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 00
   unique: 3, success, outsize: 16
unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 7822
access / 00
   unique: 2, success, outsize: 16
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 00
   unique: 4, success, outsize: 16
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 8081
access / 00
   unique: 3, success, outsize: 16
unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 00
   unique: 2, success, outsize: 16
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 80970
access / 00
   unique: 4, success, outsize: 16
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 80970
access / 00
   unique: 3, success, outsize: 16
unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 00
   unique: 2, success, outsize: 16
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 00
   unique: 4, success, outsize: 16
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 02
   unique: 3, success, outsize: 16
unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 04
   unique: 2, success, outsize: 16
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 01
   unique: 4, success, outsize: 16
unique: 3, opcode: GETXATTR (22), nodeid: 1, insize: 77, pid: 1408
getxattr / com.apple.FinderInfo 32 0
   unique: 3, success, outsize: 48
unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 00
   unique: 2, success, outsize: 16
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 00
   unique: 4, success, outsize: 16
unique: 3, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 1408
statfs /
   unique: 3, success, outsize: 96
unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 1408
statfs /
   unique: 2, success, outsize: 96
unique: 4, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 1408
statfs /
   unique: 4, success, outsize: 96
unique: 3, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 1408
statfs /
   unique: 3, success, outsize: 96
unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 1408
statfs /
   unique: 2, success, outsize: 96
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 00
   unique: 4, success, outsize: 16
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 00
   unique: 3, success, outsize: 16
unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 1408
statfs /
   unique: 2, success, outsize: 96
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 637
access / 04
   unique: 4, success, outsize: 16
unique: 3, opcode: GETXATTR (22), nodeid: 1, insize: 112, pid: 637
getxattr / com.apple.bookmark.archive.prefer-home-relative-symlink 0 0
   unique: 3, error: -45 (Operation not supported), outsize: 16
unique: 2, opcode: LOOKUP (1), nodeid: 1, insize: 44, pid: 637
LOOKUP /._.
getattr /._.
[CRT] sighandlers.cpp:SetLogLevel(168): change debug level from [CRT] to [INF] 
[INF]     s3fs.cpp:set_mountpoint_attribute(4373): PROC(uid=504, gid=20) - MountPoint(uid=504, gid=20, mode=40755)
[INF] s3fs_util.cpp:compare_sysname(769): system name is Darwin
[INF] curl.cpp:InitMimeType(723): Loaded mime information from /etc/apache2/mime.types
[INF] s3fs.cpp:s3fs_init(3455): init v1.87(commit:unknown) with GnuTLS(gcrypt)
[INF] s3fs.cpp:s3fs_check_service(3800): check services.
[INF]       curl.cpp:CheckBucket(3527): check a bucket.
[INF]       curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/
[INF]       curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/
[INF]       curl.cpp:insertV4Headers(2863): computing signature [GET] [/] [] []
[INF]       curl.cpp:url_to_host(99): url is https://s3.amazonaws.com
[INF]       curl.cpp:RequestPerform(2520): HTTP response code 200
[INF] curl.cpp:ReturnHandler(341): Pool full: destroy the oldest handler
[ERR] s3fs.cpp:s3fs_init(3505): Failed to initialize signal object, but continue...
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_getattr(828): [path=/]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=R_OK ]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=W_OK ]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=R_OK ]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=X_OK ]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=R_OK ]
[INF] s3fs.cpp:s3fs_getattr(828): [path=/._.]
[INF]       curl.cpp:HeadRequest(3159): [tpath=/._.]
[INF]       curl.cpp:PreHeadRequest(3119): [tpath=/._.][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/._.
[INF]       curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/._.
[INF]       curl.cpp:inser   unique: 2, error: -2 (No such file or directory), outsize: 16
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 477
access / 00
   unique: 4, success, outsize: 16
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 705
access / 00
   unique: 3, success, outsize: 16
unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 706
access / 00
   unique: 2, success, outsize: 16
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 639
access / 00
   unique: 4, success, outsize: 16
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 68
access / 00
   unique: 3, success, outsize: 16
unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 00
   unique: 2, success, outsize: 16
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 10108
access / 00
   unique: 4, success, outsize: 16
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 00
   unique: 3, success, outsize: 16
unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 00
   unique: 2, success, outsize: 16
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 02
   unique: 4, success, outsize: 16
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 04
   unique: 3, success, outsize: 16
unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 01
   unique: 2, success, outsize: 16
unique: 4, opcode: GETXATTR (22), nodeid: 1, insize: 77, pid: 1408
getxattr / com.apple.FinderInfo 32 0
   unique: 4, success, outsize: 48
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 00
   unique: 3, success, outsize: 16
unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 00
   unique: 2, success, outsize: 16
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 00
   unique: 4, success, outsize: 16
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 01
   unique: 3, success, outsize: 16
unique: 2, opcode: LOOKUP (1), nodeid: 1, insize: 48, pid: 1408
LOOKUP /.hidden
getattr /.hidden
tV4Headers(2863): computing signature [HEAD] [/._.] [] []
[INF]       curl.cpp:url_to_host(99): url is https://s3.amazonaws.com
[INF]       curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT
[INF]       curl.cpp:HeadRequest(3159): [tpath=/._./]
[INF]       curl.cpp:PreHeadRequest(3119): [tpath=/._./][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/._./
[INF]       curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/._./
[INF]       curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/._./] [] []
[INF]       curl.cpp:url_to_host(99): url is https://s3.amazonaws.com
[INF]       curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT
[INF]       curl.cpp:HeadRequest(3159): [tpath=/._._$folder$]
[INF]       curl.cpp:PreHeadRequest(3119): [tpath=/._._$folder$][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/._._%24folder%24
[INF]       curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/._._%24folder%24
[INF]       curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/._._$folder$] [] []
[INF]       curl.cpp:url_to_host(99): url is https://s3.amazonaws.com
[INF]       curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT
[INF]   s3fs.cpp:list_bucket(2558): [path=/._.]
[INF]       curl.cpp:ListBucketRequest(3560): [tpath=/._.]
[INF]       curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk?delimiter=/&max-keys=2&prefix=._./
[INF]       curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com?delimiter=/&max-keys=2&prefix=._./
[INF]       curl.cpp:insertV4Headers(2863): computing signature [GET] [/] [delimiter=/&max-keys=2&prefix=._./] []
[INF]       curl.cpp:url_to_host(99): url is https://s3.amazonaws.com
[INF]       curl.cpp:RequestPerform(2520): HTTP response code 200
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=W_OK ]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=R_OK ]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=X_OK ]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=X_OK ]
[INF] s3fs.cpp:s3fs_getattr(828): [path=/.hidden]
[INF]       curl.cpp:HeadRequest(3159): [tpath=/.hidden]
[INF]       curl.cpp:PreHeadRequest(3119): [tpath=/.hidden][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/.hidden
[INF]       curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/.hidden
[INF]       curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/.hidden] [] []
[INF]       curl.cpp:url_to_host(99): url is https://s3.amazonaws.com
[INF]       curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT
[INF]       curl.cpp:HeadRequest(3159): [tpath=/.hidden/]
[INF]       curl.cpp:PreHeadRequest(3119): [tpath=/.hidden/][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/.hidden/
[INF]       curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/.hidden/
[INF]       curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/.hidden/] [] []
[INF]       curl.cpp:url_to_host(99): url is https://s3.amazonaws.com
[INF]       curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT
[INF]       curl.cpp:   unique: 2, error: -2 (No such file or directory), outsize: 16
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 00
   unique: 4, success, outsize: 16
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 637
access / 00
   unique: 3, success, outsize: 16
unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 477
access / 04
   unique: 2, success, outsize: 16
unique: 4, opcode: GETXATTR (22), nodeid: 1, insize: 112, pid: 477
getxattr / com.apple.bookmark.archive.prefer-home-relative-symlink 0 0
   unique: 4, error: -45 (Operation not supported), outsize: 16
unique: 3, opcode: LOOKUP (1), nodeid: 1, insize: 44, pid: 477
LOOKUP /._.
getattr /._.
   unique: 3, error: -2 (No such file or directory), outsize: 16
unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 00
   unique: 2, success, outsize: 16
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 637
access / 00
   unique: 4, success, outsize: 16
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 477
access / 00
   unique: 3, success, outsize: 16
unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 637
access / 00
   unique: 2, success, outsize: 16
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 00
   unique: 4, success, outsize: 16
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 477
access / 00
   unique: 3, success, outsize: 16
unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 477
access / 00
HeadRequest(3159): [tpath=/.hidden_$folder$]
[INF]       curl.cpp:PreHeadRequest(3119): [tpath=/.hidden_$folder$][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/.hidden_%24folder%24
[INF]       curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/.hidden_%24folder%24
[INF]       curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/.hidden_$folder$] [] []
[INF]       curl.cpp:url_to_host(99): url is https://s3.amazonaws.com
[INF]       curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT
[INF]   s3fs.cpp:list_bucket(2558): [path=/.hidden]
[INF]       curl.cpp:ListBucketRequest(3560): [tpath=/.hidden]
[INF]       curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk?delimiter=/&max-keys=2&prefix=.hidden/
[INF]       curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com?delimiter=/&max-keys=2&prefix=.hidden/
[INF]       curl.cpp:insertV4Headers(2863): computing signature [GET] [/] [delimiter=/&max-keys=2&prefix=.hidden/] []
[INF]       curl.cpp:url_to_host(99): url is https://s3.amazonaws.com
[INF]       curl.cpp:RequestPerform(2520): HTTP response code 200
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=R_OK ]
[INF] s3fs.cpp:s3fs_getattr(828): [path=/._.]
[INF]       curl.cpp:HeadRequest(3159): [tpath=/._.]
[INF]       curl.cpp:PreHeadRequest(3119): [tpath=/._.][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/._.
[INF]       curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/._.
[INF]       curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/._.] [] []
[INF]       curl.cpp:url_to_host(99): url is https://s3.amazonaws.com
[INF]       curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT
[INF]       curl.cpp:HeadRequest(3159): [tpath=/._./]
[INF]       curl.cpp:PreHeadRequest(3119): [tpath=/._./][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/._./
[INF]       curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/._./
[INF]       curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/._./] [] []
[INF]       curl.cpp:url_to_host(99): url is https://s3.amazonaws.com
[INF]       curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT
[INF]       curl.cpp:HeadRequest(3159): [tpath=/._._$folder$]
[INF]       curl.cpp:PreHeadRequest(3119): [tpath=/._._$folder$][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/._._%24folder%24
[INF]       curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/._._%24folder%24
[INF]       curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/._._$folder$] [] []
[INF]       curl.cpp:url_to_host(99): url is https://s3.amazonaws.com
[INF]       curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT
[INF]   s3fs.cpp:list_bucket(2558): [path=/._.]
[INF]       curl.cpp:ListBucketRequest(3560): [tpath=/._.]
[INF]       curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk?delimiter=/&max-keys=2&prefix=._./
[INF]       curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com?delimiter=/&max-keys=2&prefix=._./
[INF]       curl.cpp:insertV4Headers(2863): computing signature [GET] [/] [delimiter=/&max-keys=2&prefix=._./] []
[INF]       curl.cpp:url_to_host(99): url is https://s3.amazonaws.com
[INF]       curl.cpp:RequestPerform(2520): HTTP response code 200
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:   unique: 2, success, outsize: 16
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 637
access / 00
   unique: 4, success, outsize: 16
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 00
   unique: 3, success, outsize: 16
unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 637
access / 02
   unique: 2, success, outsize: 16
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 637
access / 04
   unique: 4, success, outsize: 16
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 637
access / 01
   unique: 3, success, outsize: 16
unique: 2, opcode: GETXATTR (22), nodeid: 1, insize: 77, pid: 637
getxattr / com.apple.FinderInfo 32 0
   unique: 2, success, outsize: 48
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 477
access / 00
   unique: 4, success, outsize: 16
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 00
   unique: 3, success, outsize: 16
unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 477
access / 02
   unique: 2, success, outsize: 16
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 477
access / 04
   unique: 4, success, outsize: 16
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 477
access / 01
   unique: 3, success, outsize: 16
unique: 2, opcode: GETXATTR (22), nodeid: 1, insize: 77, pid: 477
getxattr / com.apple.FinderInfo 32 0
   unique: 2, success, outsize: 48
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 00
   unique: 4, success, outsize: 16
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 637
access / 00
   unique: 3, success, outsize: 16
unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 637
access / 00
   unique: 2, success, outsize: 16
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 00
   unique: 4, success, outsize: 16
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 477
access / 00
   unique: 3, success, outsize: 16
unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 637
statfs /
   unique: 2, success, outsize: 96
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 477
access / 00
   unique: 4, success, outsize: 16
unique: 3, opcode: LOOKUP (1), nodeid: 1, insize: 50, pid: 1408
LOOKUP /.DS_Store
getattr /.DS_Store
unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 477
statfs /
   unique: 2, success, outsize: 96
   unique: 3, error: -2 (No such file or directory), outsize: 16
unique: 4, opcode: LOOKUP (1), nodeid: 1, insize: 50, pid: 1408
LOOKUP /.DS_Store
getattr /.DS_Store
s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=W_OK ]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=R_OK ]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=X_OK ]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=W_OK ]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=R_OK ]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=X_OK ]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_getattr(828): [path=/.DS_Store]
[INF]       curl.cpp:HeadRequest(3159): [tpath=/.DS_Store]
[INF]       curl.cpp:PreHeadRequest(3119): [tpath=/.DS_Store][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/.DS_Store
[INF]       curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/.DS_Store
[INF]       curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/.DS_Store] [] []
[INF]       curl.cpp:url_to_host(99): url is https://s3.amazonaws.com
[INF]       curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT
[INF]       curl.cpp:HeadRequest(3159): [tpath=/.DS_Store/]
[INF]       curl.cpp:PreHeadRequest(3119): [tpath=/.DS_Store/][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/.DS_Store/
[INF]       curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/.DS_Store/
[INF]       curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/.DS_Store/] [] []
[INF]       curl.cpp:url_to_host(99): url is https://s3.amazonaws.com
[INF]       curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT
[INF]       curl.cpp:HeadRequest(3159): [tpath=/.DS_Store_$folder$]
[INF]       curl.cpp:PreHeadRequest(3119): [tpath=/.DS_Store_$folder$][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/.DS_Store_%24folder%24
[INF]       curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/.DS_Store_%24folder%24
[INF]       curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/.DS_Store_$folder$] [] []
[INF]       curl.cpp:url_to_host(99): url is https://s3.amazonaws.com
[INF]       curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT
[INF]   s3fs.cpp:list_bucket(2558): [path=/.DS_Store]
[INF]       curl.cpp:ListBucketRequest(3560): [tpath=/.DS_Store]
[INF]       curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk?delimiter=/&max-keys=2&prefix=.DS_Store/
[INF]       curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com?delimiter=/&max-keys=2&prefix=.DS_Store/
[INF]       curl.cpp:insertV4Headers(2863): computing signature [GET] [/] [delimiter=/&max-keys=2&prefix=.DS_Store/] []
[INF]       curl.cpp:url_to_host(99): url is https://s3.amazonaws.com
[INF]       curl.cpp:RequestPerform(2520): HTTP response code 200
[INF] s3fs.cpp:s3fs_getattr(828): [path=/.DS_Store]
[INF]       curl.cpp:HeadRequest(3159): [tpath=/.DS_Store]
[INF]       curl.cpp:PreHeadRequest(3119): [tpath=/.DS_Store][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/.DS_Store
[INF]       curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/.DS_Store
[INF]       curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/.DS_Store] [] []
[INF]       curl.cpp:url_to_host(99): url is https://s3.amazonaws.com
[INF]       curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT
[INF]       curl.cpp:HeadRequest(3159): [tpath   unique: 4, error: -2 (No such file or directory), outsize: 16
unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 15610
access / 00
   unique: 2, success, outsize: 16
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 869
access / 00
   unique: 3, success, outsize: 16
unique: 4, opcode: GETATTR (3), nodeid: 1, insize: 56, pid: 1408
getattr /
   unique: 4, success, outsize: 136
unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 04
   unique: 2, success, outsize: 16
unique: 3, opcode: GETXATTR (22), nodeid: 1, insize: 112, pid: 1408
getxattr / com.apple.bookmark.archive.prefer-home-relative-symlink 0 0
   unique: 3, error: -45 (Operation not supported), outsize: 16
unique: 4, opcode: LOOKUP (1), nodeid: 1, insize: 44, pid: 1408
LOOKUP /._.
getattr /._.
=/.DS_Store/]
[INF]       curl.cpp:PreHeadRequest(3119): [tpath=/.DS_Store/][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/.DS_Store/
[INF]       curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/.DS_Store/
[INF]       curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/.DS_Store/] [] []
[INF]       curl.cpp:url_to_host(99): url is https://s3.amazonaws.com
[INF]       curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT
[INF]       curl.cpp:HeadRequest(3159): [tpath=/.DS_Store_$folder$]
[INF]       curl.cpp:PreHeadRequest(3119): [tpath=/.DS_Store_$folder$][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/.DS_Store_%24folder%24
[INF]       curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/.DS_Store_%24folder%24
[INF]       curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/.DS_Store_$folder$] [] []
[INF]       curl.cpp:url_to_host(99): url is https://s3.amazonaws.com
[INF]       curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT
[INF]   s3fs.cpp:list_bucket(2558): [path=/.DS_Store]
[INF]       curl.cpp:ListBucketRequest(3560): [tpath=/.DS_Store]
[INF]       curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk?delimiter=/&max-keys=2&prefix=.DS_Store/
[INF]       curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com?delimiter=/&max-keys=2&prefix=.DS_Store/
[INF]       curl.cpp:insertV4Headers(2863): computing signature [GET] [/] [delimiter=/&max-keys=2&prefix=.DS_Store/] []
[INF]       curl.cpp:url_to_host(99): url is https://s3.amazonaws.com
[INF]       curl.cpp:RequestPerform(2520): HTTP response code 200
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_getattr(828): [path=/]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=R_OK ]
[INF] s3fs.cpp:s3fs_getattr(828): [path=/._.]
[INF]       curl.cpp:HeadRequest(3159): [tpath=/._.]
[INF]       curl.cpp:PreHeadRequest(3119): [tpath=/._.][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/._.
[INF]       curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/._.
[INF]       curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/._.] [] []
[INF]       curl.cpp:url_to_host(99): url is https://s3.amazonaws.com
[INF]       curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT
[INF]       curl.cpp:HeadRequest(3159): [tpath=/._./]
[INF]       curl.cpp:PreHeadRequest(3119): [tpath=/._./][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/._./
[INF]       curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/._./
[INF]       curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/._./] [] []
[INF]       curl.cpp:url_to_host(99): url is https://s3.amazonaws.com
[INF]       curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT
[INF]       curl.cpp:HeadRequest(3159): [tpath=/._._$folder$]
[INF]       curl.cpp:PreHeadRequest(3119): [tpath=/._._$folder$][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/._._%24folder%24
[INF]       curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/._._%24folder%24
[INF]       curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/._._$folder$] [] []
[INF]       curl.cpp:url_to_host(99): url is https://s3.amazonaws.com
[INF]       curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT
[INF]   s3fs.cpp:list_bucket(2558): [path=/._.]
[INF]       curl.cpp:ListBucketRequest(3560): [tpath=/._.]
[INF]       curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk?delimiter=/&max-keys=2&prefix=._./
[INF]       curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazo   unique: 4, error: -2 (No such file or directory), outsize: 16
unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 00
   unique: 2, success, outsize: 16
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 00
   unique: 3, success, outsize: 16
unique: 4, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 1408
statfs /
   unique: 4, success, outsize: 96
unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 1408
statfs /
   unique: 2, success, outsize: 96
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 00
   unique: 3, success, outsize: 16
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 00
   unique: 4, success, outsize: 16
unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 00
   unique: 2, success, outsize: 16
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 02
   unique: 3, success, outsize: 16
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 04
   unique: 4, success, outsize: 16
unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 01
   unique: 2, success, outsize: 16
unique: 3, opcode: GETXATTR (22), nodeid: 1, insize: 77, pid: 1408
getxattr / com.apple.FinderInfo 32 0
   unique: 3, success, outsize: 48
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 684
access / 00
   unique: 4, success, outsize: 16
unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 684
access / 00
   unique: 2, success, outsize: 16
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 684
access / 00
   unique: 3, success, outsize: 16
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 684
access / 01
   unique: 4, success, outsize: 16
unique: 2, opcode: LOOKUP (1), nodeid: 1, insize: 57, pid: 684
LOOKUP /.VolumeIcon.icns
getattr /.VolumeIcon.icns
   NODEID: 2
   unique: 2, success, outsize: 160
unique: 3, opcode: ACCESS (34), nodeid: 2, insize: 48, pid: 684
access /.VolumeIcon.icns 00
   unique: 3, success, outsize: 16
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 684
access / 00
   unique: 4, success, outsize: 16
unique: 2, opcode: ACCESS (34), nodeid: 2, insize: 48, pid: 684
access /.VolumeIcon.icns 04
   unique: 2, success, outsize: 16
unique: 3, opcode: OPEN (14), nodeid: 2, insize: 48, pid: 684
open flags: 0x0 /.VolumeIcon.icns
   open[0] flags: 0x0 /.VolumeIcon.icns
   unique: 3, success, outsize: 32
unique: 4, opcode: READ (15), nodeid: 2, insize: 80, pid: 684
read[0] 65536 bytes from 0 flags: 0x0
   read[0] 65536 bytes from 0
   unique: 4, success, outsize: 65552
unique: 2, opcode: READ (15), nodeid: 2, insize: 80, pid: 684
read[0] 65536 bytes from 65536 flags: 0x0
   read[0] 65536 bytes from 65536
   unique: 2, success, outsize: 65552
unique: 3, opcode: READ (15), nodeid: 2, insize: 80, pid: 684
read[0] 65536 bytes from 131072 flags: 0x0
   read[0] 65536 bytes from 131072
   unique: 3, success, outsize: 65552
unique: 4, opcode: READ (15), nodeid: 2, insize: 80, pid: 684
read[0] 65536 bytes from 196608 flags: 0x0
   read[0] 65536 bytes from 196608
   unique: 4, success, outsize: 65552
unique: 2, opcode: READ (15), nodeid: 2, insize: 80, pid: 684
read[0] 65536 bytes from 262144 flags: 0x0
   read[0] 65536 bytes from 262144
   unique: 2, success, outsize: 65552
unique: 3, opcode: READ (15), nodeid: 2, insize: 80, pid: 684
read[0] 65536 bytes from 327680 flags: 0x0
   read[0] 65536 bytes from 327680
   unique: 3, success, outsize: 65552
unique: 4, opcode: READ (15), nodeid: 2, insize: 80, pid: 684
read[0] 65536 bytes from 393216 flags: 0x0
   read[0] 65536 bytes from 393216
   unique: 4, success, outsize: 65552
unique: 2, opcode: READ (15), nodeid: 2, insize: 80, pid: 684
read[0] 65536 bytes from 458752 flags: 0x0
   read[0] 65536 bytes from 458752
   unique: 2, success, outsize: 65552
unique: 3, opcode: READ (15), nodeid: 2, insize: 80, pid: 684
read[0] 65536 bytes from 524288 flags: 0x0
   read[0] 65536 bytes from 524288
   unique: 3, success, outsize: 65552
unique: 4, opcode: READ (15), nodeid: 2, insize: 80, pid: 684
read[0] 65536 bytes from 589824 flags: 0x0
   read[0] 65536 bytes from 589824
   unique: 4, success, outsize: 65552
unique: 2, opcode: READ (15), nodeid: 2, insize: 80, pid: 684
read[0] 65536 bytes from 655360 flags: 0x0
   read[0] 65536 bytes from 655360
   unique: 2, success, outsize: 65552
unique: 3, opcode: READ (15), nodeid: 2, insize: 80, pid: 684
read[0] 65536 bytes from 720896 flags: 0x0
   read[0] 65536 bytes from 720896
   unique: 3, success, outsize: 65552
unique: 4, opcode: READ (15), nodeid: 2, insize: 80, pid: 684
read[0] 65536 bytes from 786432 flags: 0x0
   read[0] 65536 bytes from 786432
   unique: 4, success, outsize: 65552
unique: 2, opcode: READ (15), nodeid: 2, insize: 80, pid: 684
read[0] 65536 bytes from 851968 flags: 0x0
   read[0] 65536 bytes from 851968
   unique: 2, success, outsize: 65552
unique: 3, opcode: READ (15), nodeid: 2, insize: 80, pid: 684
read[0] 65536 bytes from 917504 flags: 0x0
   read[0] 65536 bytes from 917504
   unique: 3, success, outsize: 65552
unique: 4, opcode: READ (15), nodeid: 2, insize: 80, pid: 684
read[0] 65536 bytes from 983040 flags: 0x0
   read[0] 65536 bytes from 983040
   unique: 4, success, outsize: 65552
unique: 2, opcode: READ (15), nodeid: 2, insize: 80, pid: 684
read[0] 65536 bytes from 1048576 flags: 0x0
   read[0] 65536 bytes from 1048576
   unique: 2, success, outsize: 65552
unique: 3, opcode: READ (15), nodeid: 2, insize: 80, pid: 684
read[0] 65536 bytes from 1114112 flags: 0x0
   read[0] 65536 bytes from 1114112
   unique: 3, success, outsize: 65552
unique: 4, opcode: READ (15), nodeid: 2, insize: 80, pid: 684
read[0] 65536 bytes from 1179648 flags: 0x0
   read[0] 65536 bytes from 1179648
   unique: 4, success, outsize: 65552
unique: 2, opcode: READ (15), nodeid: 2, insize: 80, pid: 684
read[0] 65536 bytes from 1245184 flags: 0x0
   read[0] 65536 bytes from 1245184
   unique: 2, success, outsize: 65552
unique: 3, opcode: READ (15), nodeid: 2, insize: 80, pid: 684
read[0] 65536 bytes from 1310720 flags: 0x0
   read[0] 65536 bytes from 1310720
   unique: 3, success, outsize: 65552
unique: 4, opcode: READ (15), nodeid: 2, insize: 80, pid: 684
read[0] 65536 bytes from 1376256 flags: 0x0
   read[0] 65536 bytes from 1376256
   unique: 4, success, outsize: 65552
unique: 2, opcode: READ (15), nodeid: 2, insize: 80, pid: 684
read[0] 65536 bytes from 1441792 flags: 0x0
   read[0] 65536 bytes from 1441792
   unique: 2, success, outsize: 65552
unique: 3, opcode: READ (15), nodeid: 2, insize: 80, pid: 684
read[0] 65536 bytes from 1507328 flags: 0x0
   read[0] 65536 bytes from 1507328
   unique: 3, success, outsize: 65552
unique: 4, opcode: READ (15), nodeid: 2, insize: 80, pid: 684
read[0] 65536 bytes from 1572864 flags: 0x0
   read[0] 65536 bytes from 1572864
   unique: 4, success, outsize: 65552
unique: 2, opcode: READ (15), nodeid: 2, insize: 80, pid: 684
read[0] 65536 bytes from 1638400 flags: 0x0
   read[0] 65536 bytes from 1638400
   unique: 2, success, outsize: 65552
unique: 3, opcode: READ (15), nodeid: 2, insize: 80, pid: 684
read[0] 4610 bytes from 1703936 flags: 0x0
   read[0] 4610 bytes from 1703936
   unique: 3, success, outsize: 4626
unique: 4, opcode: FLUSH (25), nodeid: 2, insize: 64, pid: 684
flush[0]
lock[0] F_SETLK F_UNLCK start: 0 len: 0 pid: 0
   unique: 4, success, outsize: 16
unique: 2, opcode: RELEASE (18), nodeid: 2, insize: 64, pid: 684
release[0] flags: 0x0
   unique: 2, success, outsize: 16
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 684
access / 00
   unique: 3, success, outsize: 16
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 684
access / 00
   unique: 4, success, outsize: 16
unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 684
access / 00
   unique: 2, success, outsize: 16
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 00
   unique: 3, success, outsize: 16
unique: 4, opcode: GETATTR (3), nodeid: 1, insize: 56, pid: 1408
getattr /
   unique: 4, success, outsize: 136
unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 00
   unique: 2, success, outsize: 16
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 00
   unique: 3, success, outsize: 16
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 02
   unique: 4, success, outsize: 16
unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 04
   unique: 2, success, outsize: 16
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 01
   unique: 3, success, outsize: 16
unique: 4, opcode: GETXATTR (22), nodeid: 1, insize: 77, pid: 1408
getxattr / com.apple.FinderInfo 32 0
   unique: 4, success, outsize: 48
unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 00
   unique: 2, success, outsize: 16
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 00
   unique: 3, success, outsize: 16
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 00
   unique: 4, success, outsize: 16
unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 02
   unique: 2, success, outsize: 16
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 04
   unique: 3, success, outsize: 16
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408
access / 01
   unique: 4, success, outsize: 16
unique: 2, opcode: GETXATTR (22), nodeid: 1, insize: 77, pid: 1408
getxattr / com.apple.FinderInfo 32 0
   unique: 2, success, outsize: 48
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 684
access / 00
   unique: 3, success, outsize: 16
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 684
access / 00
   unique: 4, success, outsize: 16
unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 684
access / 00
   unique: 2, success, outsize: 16
unique: 3, opcode: ACCESS (34), nodeid: 2, insize: 48, pid: 684
access /.VolumeIcon.icns 00
   unique: 3, success, outsize: 16
unique: 4, opcode: GETATTR (3), nodeid: 2, insize: 56, pid: 684
getattr /.VolumeIcon.icns
   unique: 4, success, outsize: 136
unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 684
access / 00
   unique: 2, success, outsize: 16
unique: 3, opcode: ACCESS (34), nodeid: 2, insize: 48, pid: 684
access /.VolumeIcon.icns 04
   unique: 3, success, outsize: 16
unique: 4, opcode: OPEN (14), nodeid: 2, insize: 48, pid: 684
open flags: 0x0 /.VolumeIcon.icns
   open[0] flags: 0x0 /.VolumeIcon.icns
   unique: 4, success, outsize: 32
unique: 2, opcode: FLUSH (25), nodeid: 2, insize: 64, pid: 684
flush[0]
lock[0] F_SETLK F_UNLCK start: 0 len: 0 pid: 0
   unique: 2, success, outsize: 16
unique: 3, opcode: RELEASE (18), nodeid: 2, insize: 64, pid: 684
release[0] flags: 0x0
   unique: 3, success, outsize: 16
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 684
access / 00
   unique: 4, success, outsize: 16
unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 684
access / 00
   unique: 2, success, outsize: 16
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 684
access / 00
   unique: 3, success, outsize: 16
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 12474
access / 01
   unique: 4, success, outsize: 16
unique: 2, opcode: LOOKUP (1), nodeid: 1, insize: 51, pid: 12474
LOOKUP /index.html
getattr /index.html
   NODEID: 3
   unique: 2, success, outsize: 160
unique: 3, opcode: ACCESS (34), nodeid: 3, insize: 48, pid: 12474
access /index.html 04
   unique: 3, success, outsize: 16
unique: 4, opcode: OPEN (14), nodeid: 3, insize: 48, pid: 12474
open flags: 0x0 /index.html
naws.com?delimiter=/&max-keys=2&prefix=._./
[INF]       curl.cpp:insertV4Headers(2863): computing signature [GET] [/] [delimiter=/&max-keys=2&prefix=._./] []
[INF]       curl.cpp:url_to_host(99): url is https://s3.amazonaws.com
[INF]       curl.cpp:RequestPerform(2520): HTTP response code 200
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=W_OK ]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=R_OK ]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=X_OK ]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=X_OK ]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_getattr(828): [path=/]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=W_OK ]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=R_OK ]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=X_OK ]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=W_OK ]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=R_OK ]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=X_OK ]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=X_OK ]
[INF] s3fs.cpp:s3fs_getattr(828): [path=/index.html]
[INF]       curl.cpp:HeadRequest(3159): [tpath=/index.html]
[INF]       curl.cpp:PreHeadRequest(3119): [tpath=/index.html][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/index.html
[INF]       curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/index.html
[INF]       curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/index.html] [] []
[INF]       curl.cpp:url_to_host(99): url is https://s3.amazonaws.com
[INF]       curl.cpp:RequestPerform(2520): HTTP response code 200
[INF]       cache.cpp:AddStat(379): add stat cache entry[path=/index.html]
[INF] s3fs.cpp:s3fs_access(3532): [path=/index.html][mask=R_OK ]
[INF] s3fs.cpp:s3fs_open(2132): [path=/index.html][flags=0x0]
[INF] s3fs.cpp:s3fs_flush(2264): [path=/index.html][fd=0]
[INF]       cache.cpp:DelStat(590): delete stat cache entry[path=/index.html]
[INF]       curl.cpp:HeadRequest(3159): [tpath=/index.html]
[INF]       curl.cpp:PreHeadRequest(3119): [tpath=/index.html][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/index.html
[INF]       curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/index.html
[INF]       curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/index.html] [] []
[INF]       curl.cpp:url_to_host(99): url is https://s3.amazonaws.com
[INF]       curl.cpp:RequestPerform(2520): HTTP response code 200
[INF]       cache.cpp:AddStat(379): add stat cache entry[path=/index.html]
[ERR] fdcache.cpp:OpenMirrorFile(1460): could not link mirror file(/Volumes/T7/tmp/.ctbk.mirror/3efaefd9.tmp) to cache file(/Volumes/T7/tmp/ctbk/index.html) by errno(45).
[ERR] fdcache.cpp:Open(1613): failed to   unique: 4, error: -5 (Input/output error), outsize: 16
unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 68
statfs /
   unique: 2, success, outsize: 96
unique: 3, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 528
unique: 4, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 217
statfs /
   unique: 4, success, outsize: 96
statfs /
   unique: 3, success, outsize: 96
unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 217
statfs /
   unique: 2, success, outsize: 96
unique: 4, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 528
statfs /
   unique: 4, success, outsize: 96
unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 10423
access / 00
   unique: 3, success, outsize: 16
unique: 2, opcode: GETATTR (3), nodeid: 1, insize: 56, pid: 10423
getattr /
   unique: 2, success, outsize: 136
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 10394
access / 00
   unique: 4, success, outsize: 16
unique: 3, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 547
statfs /
   unique: 3, success, outsize: 96
unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 547
statfs /
   unique: 2, success, outsize: 96
unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 10424
access / 00
   unique: 4, success, outsize: 16
unique: 3, opcode: FORGET (2), nodeid: 3, insize: 48, pid: 12526
FORGET 3/1
DELETE: 3
unique: 2, opcode: FORGET (2), nodeid: 2, insize: 48, pid: 12526
FORGET 2/1
DELETE: 2
unique: 4, opcode: DESTROY (38), nodeid: 1, insize: 40, pid: 12526
   unique: 4, success, outsize: 16
 open mirror file linked cache file(/Volumes/T7/tmp/ctbk/index.html).
[INF]       cache.cpp:DelStat(590): delete stat cache entry[path=/index.html]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_getattr(828): [path=/]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK]
[INF] s3fs.cpp:s3fs_destroy(3513): destroy
[WAN] s3fs.cpp:s3fs_destroy(3517): Failed to clean up signal object.
[WAN] fdcache.cpp:Clear(1328): failed to remove mirror cache file(/Volumes/T7/tmp/.ctbk.mirror/3efaefd9.tmp) by errno(2).

What filesystem do you use on the external drive? FAT32 does not support hard links so we expect an error

It looks like ExFAT, which I'm guessing doesn't support hard links, as you suggested:

diskutil info /Volumes/T7
   Device Identifier:         disk2s1
   Device Node:               /dev/disk2s1
   Whole:                     No
   Part of Whole:             disk2

   Volume Name:               T7
   Mounted:                   Yes
   Mount Point:               /Volumes/T7

   Partition Type:            Windows_NTFS
   File System Personality:   ExFAT
   Type (Bundle):             exfat
   Name (User Visible):       ExFAT

   OS Can Be Installed:       No
   Media Type:                Generic
   Protocol:                  USB
   SMART Status:              Not Supported
   Volume UUID:               7DEFB4F5-A5F4-3E34-AA71-69B5215246F2
   Partition Offset:          1048576 Bytes (2048 512-Byte-Device-Blocks)

   Disk Size:                 2.0 TB (2000396321280 Bytes) (exactly 3907024065 512-Byte-Units)
   Device Block Size:         512 Bytes

   Volume Total Space:        2.0 TB (2000333307904 Bytes) (exactly 3906900992 512-Byte-Units)
   Volume Used Space:         1.3 TB (1305920536576 Bytes) (exactly 2550626048 512-Byte-Units) (65.3%)
   Volume Free Space:         694.4 GB (694412771328 Bytes) (exactly 1356274944 512-Byte-Units) (34.7%)
   Allocation Block Size:     131072 Bytes

   Media OS Use Only:         No
   Media Read-Only:           No
   Volume Read-Only:          No

   Device Location:           External
   Removable Media:           Fixed

   Solid State:               Yes

So I guess that solves the issue, thanks!

I will look into reformatting this drive. I also wonder if s3fs could work around this if it detects a drive doesn't support hard links?

Are the mirror file and cache file on different file systems? Hard links can only be created on the same filesystem.

I believe they are in all of my examples (they both go under the root path passed to -o use_cache, from what I can tell), but that's a good thing to flag.

Also I notice you have gotten s3fs to work with a newer version of MacFUSE. We could use some help in #1632 documenting how to get this to work with newer hardware and versions.

Interesting, yea I had to brew uninstall osxfuse, and install macFUSE, but other than that I don't think I did anything special. I'm on a 2017 mbp, but I also have an M1 here I can test this on. I'll leave a note on #1632 as well.

<!-- gh-comment-id:826333088 --> @ryan-williams commented on GitHub (Apr 25, 2021): > Could you share the entire "could not link mirror file" error log? This includes the errno which would help diagnose this issue. Sure, sorry I didn't include the full output previously. Terminal 1: ```bash s3fs ctbk ~/s3/ctbk -d -d -f -o passwd_file=~/.aws/ctbk -o use_cache=/Volumes/T7/tmp &> ~/s3fs-out.txt ``` Terminal 2: ```bash head ~/s3/ctbk/index.html # Input/output error ``` <details> <summary> Resulting <code>~/s3fs-out.txt</code> </summary> ``` FUSE library version: 2.9.9 nullpath_ok: 0 nopath: 0 utime_omit_ok: 0 unique: 2, opcode: INIT (26), nodeid: 0, insize: 56, pid: 12469 INIT: 7.19 flags=0xee000008 max_readahead=0x00100000 INIT: 7.19 flags=0x00000010 max_readahead=0x00100000 max_write=0x02000000 max_background=0 congestion_threshold=0 unique: 2, success, outsize: 40 unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 0 statfs / unique: 3, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 12469 statfs / unique: 3, success, outsize: 96 unique: 2, success, outsize: 96 unique: 3, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 96 statfs / unique: 3, success, outsize: 96 unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 147 statfs / unique: 2, success, outsize: 96 unique: 3, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 147 statfs / unique: 3, success, outsize: 96 unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 147 statfs / unique: 2, success, outsize: 96 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 615 access / 00 unique: 3, success, outsize: 16 unique: 2, opcode: GETATTR (3), nodeid: 1, insize: 56, pid: 615 getattr / unique: 2, success, outsize: 136 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 685 unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 615 statfs / unique: 2, success, outsize: 96 access / 00 unique: 3, success, outsize: 16 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 615 unique: 3, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 685 statfs / access / 00 unique: 3, success, outsize: 96 unique: 2, success, outsize: 16 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 746 access / 00 unique: 3, success, outsize: 16 unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 615 statfs / unique: 2, success, outsize: 96 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 148 unique: 4, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 746 statfs / unique: 4, success, outsize: 96 access / 00 unique: 3, success, outsize: 16 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 773 access / 00 unique: 2, success, outsize: 16 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 685 access / 00 unique: 4, success, outsize: 16 unique: 3, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 148 statfs / unique: 3, success, outsize: 96 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 615 access / 00 unique: 2, success, outsize: 16 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1404 access / 00 unique: 4, success, outsize: 16 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 148 access / 00 unique: 3, success, outsize: 16 unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 773 statfs / unique: 2, success, outsize: 96 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 774 access / 00 unique: 4, success, outsize: 16 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 7775 access / 00 unique: 3, success, outsize: 16 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 7793 access / 00 unique: 2, success, outsize: 16 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 7753 access / 00 unique: 4, success, outsize: 16 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 746 access / 00 unique: 3, success, outsize: 16 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 615 access / 00 unique: 2, success, outsize: 16 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 7857 access / 00 unique: 4, success, outsize: 16 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 7771 access / 00 unique: 3, success, outsize: 16 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 773 access / 00 unique: 2, success, outsize: 16 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 8019 access / 00 unique: 4, success, outsize: 16 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 7858 access / 00 unique: 3, success, outsize: 16 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 10382 access / 00 unique: 2, success, outsize: 16 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 7791 access / 00 unique: 4, success, outsize: 16 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 76393 access / 00 unique: 3, success, outsize: 16 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 10382 access / 04 unique: 2, success, outsize: 16 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 7038 access / 00 unique: 4, success, outsize: 16 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 7784 access / 00 unique: 3, success, outsize: 16 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 637 access / 00 unique: 2, success, outsize: 16 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 773 access / 00 unique: 4, success, outsize: 16 unique: 3, opcode: GETXATTR (22), nodeid: 1, insize: 77, pid: 773 getxattr / com.apple.FinderInfo 32 0 unique: 3, success, outsize: 48 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 00 unique: 2, success, outsize: 16 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 00 unique: 4, success, outsize: 16 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 00 unique: 3, success, outsize: 16 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 7822 access / 00 unique: 2, success, outsize: 16 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 00 unique: 4, success, outsize: 16 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 8081 access / 00 unique: 3, success, outsize: 16 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 00 unique: 2, success, outsize: 16 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 80970 access / 00 unique: 4, success, outsize: 16 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 80970 access / 00 unique: 3, success, outsize: 16 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 00 unique: 2, success, outsize: 16 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 00 unique: 4, success, outsize: 16 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 02 unique: 3, success, outsize: 16 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 04 unique: 2, success, outsize: 16 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 01 unique: 4, success, outsize: 16 unique: 3, opcode: GETXATTR (22), nodeid: 1, insize: 77, pid: 1408 getxattr / com.apple.FinderInfo 32 0 unique: 3, success, outsize: 48 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 00 unique: 2, success, outsize: 16 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 00 unique: 4, success, outsize: 16 unique: 3, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 1408 statfs / unique: 3, success, outsize: 96 unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 1408 statfs / unique: 2, success, outsize: 96 unique: 4, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 1408 statfs / unique: 4, success, outsize: 96 unique: 3, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 1408 statfs / unique: 3, success, outsize: 96 unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 1408 statfs / unique: 2, success, outsize: 96 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 00 unique: 4, success, outsize: 16 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 00 unique: 3, success, outsize: 16 unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 1408 statfs / unique: 2, success, outsize: 96 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 637 access / 04 unique: 4, success, outsize: 16 unique: 3, opcode: GETXATTR (22), nodeid: 1, insize: 112, pid: 637 getxattr / com.apple.bookmark.archive.prefer-home-relative-symlink 0 0 unique: 3, error: -45 (Operation not supported), outsize: 16 unique: 2, opcode: LOOKUP (1), nodeid: 1, insize: 44, pid: 637 LOOKUP /._. getattr /._. [CRT] sighandlers.cpp:SetLogLevel(168): change debug level from [CRT] to [INF] [INF] s3fs.cpp:set_mountpoint_attribute(4373): PROC(uid=504, gid=20) - MountPoint(uid=504, gid=20, mode=40755) [INF] s3fs_util.cpp:compare_sysname(769): system name is Darwin [INF] curl.cpp:InitMimeType(723): Loaded mime information from /etc/apache2/mime.types [INF] s3fs.cpp:s3fs_init(3455): init v1.87(commit:unknown) with GnuTLS(gcrypt) [INF] s3fs.cpp:s3fs_check_service(3800): check services. [INF] curl.cpp:CheckBucket(3527): check a bucket. [INF] curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/ [INF] curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/ [INF] curl.cpp:insertV4Headers(2863): computing signature [GET] [/] [] [] [INF] curl.cpp:url_to_host(99): url is https://s3.amazonaws.com [INF] curl.cpp:RequestPerform(2520): HTTP response code 200 [INF] curl.cpp:ReturnHandler(341): Pool full: destroy the oldest handler [ERR] s3fs.cpp:s3fs_init(3505): Failed to initialize signal object, but continue... [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_getattr(828): [path=/] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=R_OK ] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=W_OK ] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=R_OK ] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=X_OK ] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=R_OK ] [INF] s3fs.cpp:s3fs_getattr(828): [path=/._.] [INF] curl.cpp:HeadRequest(3159): [tpath=/._.] [INF] curl.cpp:PreHeadRequest(3119): [tpath=/._.][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/._. [INF] curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/._. [INF] curl.cpp:inser unique: 2, error: -2 (No such file or directory), outsize: 16 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 477 access / 00 unique: 4, success, outsize: 16 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 705 access / 00 unique: 3, success, outsize: 16 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 706 access / 00 unique: 2, success, outsize: 16 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 639 access / 00 unique: 4, success, outsize: 16 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 68 access / 00 unique: 3, success, outsize: 16 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 00 unique: 2, success, outsize: 16 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 10108 access / 00 unique: 4, success, outsize: 16 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 00 unique: 3, success, outsize: 16 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 00 unique: 2, success, outsize: 16 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 02 unique: 4, success, outsize: 16 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 04 unique: 3, success, outsize: 16 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 01 unique: 2, success, outsize: 16 unique: 4, opcode: GETXATTR (22), nodeid: 1, insize: 77, pid: 1408 getxattr / com.apple.FinderInfo 32 0 unique: 4, success, outsize: 48 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 00 unique: 3, success, outsize: 16 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 00 unique: 2, success, outsize: 16 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 00 unique: 4, success, outsize: 16 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 01 unique: 3, success, outsize: 16 unique: 2, opcode: LOOKUP (1), nodeid: 1, insize: 48, pid: 1408 LOOKUP /.hidden getattr /.hidden tV4Headers(2863): computing signature [HEAD] [/._.] [] [] [INF] curl.cpp:url_to_host(99): url is https://s3.amazonaws.com [INF] curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT [INF] curl.cpp:HeadRequest(3159): [tpath=/._./] [INF] curl.cpp:PreHeadRequest(3119): [tpath=/._./][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/._./ [INF] curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/._./ [INF] curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/._./] [] [] [INF] curl.cpp:url_to_host(99): url is https://s3.amazonaws.com [INF] curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT [INF] curl.cpp:HeadRequest(3159): [tpath=/._._$folder$] [INF] curl.cpp:PreHeadRequest(3119): [tpath=/._._$folder$][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/._._%24folder%24 [INF] curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/._._%24folder%24 [INF] curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/._._$folder$] [] [] [INF] curl.cpp:url_to_host(99): url is https://s3.amazonaws.com [INF] curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT [INF] s3fs.cpp:list_bucket(2558): [path=/._.] [INF] curl.cpp:ListBucketRequest(3560): [tpath=/._.] [INF] curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk?delimiter=/&max-keys=2&prefix=._./ [INF] curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com?delimiter=/&max-keys=2&prefix=._./ [INF] curl.cpp:insertV4Headers(2863): computing signature [GET] [/] [delimiter=/&max-keys=2&prefix=._./] [] [INF] curl.cpp:url_to_host(99): url is https://s3.amazonaws.com [INF] curl.cpp:RequestPerform(2520): HTTP response code 200 [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=W_OK ] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=R_OK ] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=X_OK ] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=X_OK ] [INF] s3fs.cpp:s3fs_getattr(828): [path=/.hidden] [INF] curl.cpp:HeadRequest(3159): [tpath=/.hidden] [INF] curl.cpp:PreHeadRequest(3119): [tpath=/.hidden][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/.hidden [INF] curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/.hidden [INF] curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/.hidden] [] [] [INF] curl.cpp:url_to_host(99): url is https://s3.amazonaws.com [INF] curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT [INF] curl.cpp:HeadRequest(3159): [tpath=/.hidden/] [INF] curl.cpp:PreHeadRequest(3119): [tpath=/.hidden/][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/.hidden/ [INF] curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/.hidden/ [INF] curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/.hidden/] [] [] [INF] curl.cpp:url_to_host(99): url is https://s3.amazonaws.com [INF] curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT [INF] curl.cpp: unique: 2, error: -2 (No such file or directory), outsize: 16 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 00 unique: 4, success, outsize: 16 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 637 access / 00 unique: 3, success, outsize: 16 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 477 access / 04 unique: 2, success, outsize: 16 unique: 4, opcode: GETXATTR (22), nodeid: 1, insize: 112, pid: 477 getxattr / com.apple.bookmark.archive.prefer-home-relative-symlink 0 0 unique: 4, error: -45 (Operation not supported), outsize: 16 unique: 3, opcode: LOOKUP (1), nodeid: 1, insize: 44, pid: 477 LOOKUP /._. getattr /._. unique: 3, error: -2 (No such file or directory), outsize: 16 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 00 unique: 2, success, outsize: 16 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 637 access / 00 unique: 4, success, outsize: 16 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 477 access / 00 unique: 3, success, outsize: 16 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 637 access / 00 unique: 2, success, outsize: 16 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 00 unique: 4, success, outsize: 16 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 477 access / 00 unique: 3, success, outsize: 16 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 477 access / 00 HeadRequest(3159): [tpath=/.hidden_$folder$] [INF] curl.cpp:PreHeadRequest(3119): [tpath=/.hidden_$folder$][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/.hidden_%24folder%24 [INF] curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/.hidden_%24folder%24 [INF] curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/.hidden_$folder$] [] [] [INF] curl.cpp:url_to_host(99): url is https://s3.amazonaws.com [INF] curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT [INF] s3fs.cpp:list_bucket(2558): [path=/.hidden] [INF] curl.cpp:ListBucketRequest(3560): [tpath=/.hidden] [INF] curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk?delimiter=/&max-keys=2&prefix=.hidden/ [INF] curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com?delimiter=/&max-keys=2&prefix=.hidden/ [INF] curl.cpp:insertV4Headers(2863): computing signature [GET] [/] [delimiter=/&max-keys=2&prefix=.hidden/] [] [INF] curl.cpp:url_to_host(99): url is https://s3.amazonaws.com [INF] curl.cpp:RequestPerform(2520): HTTP response code 200 [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=R_OK ] [INF] s3fs.cpp:s3fs_getattr(828): [path=/._.] [INF] curl.cpp:HeadRequest(3159): [tpath=/._.] [INF] curl.cpp:PreHeadRequest(3119): [tpath=/._.][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/._. [INF] curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/._. [INF] curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/._.] [] [] [INF] curl.cpp:url_to_host(99): url is https://s3.amazonaws.com [INF] curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT [INF] curl.cpp:HeadRequest(3159): [tpath=/._./] [INF] curl.cpp:PreHeadRequest(3119): [tpath=/._./][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/._./ [INF] curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/._./ [INF] curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/._./] [] [] [INF] curl.cpp:url_to_host(99): url is https://s3.amazonaws.com [INF] curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT [INF] curl.cpp:HeadRequest(3159): [tpath=/._._$folder$] [INF] curl.cpp:PreHeadRequest(3119): [tpath=/._._$folder$][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/._._%24folder%24 [INF] curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/._._%24folder%24 [INF] curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/._._$folder$] [] [] [INF] curl.cpp:url_to_host(99): url is https://s3.amazonaws.com [INF] curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT [INF] s3fs.cpp:list_bucket(2558): [path=/._.] [INF] curl.cpp:ListBucketRequest(3560): [tpath=/._.] [INF] curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk?delimiter=/&max-keys=2&prefix=._./ [INF] curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com?delimiter=/&max-keys=2&prefix=._./ [INF] curl.cpp:insertV4Headers(2863): computing signature [GET] [/] [delimiter=/&max-keys=2&prefix=._./] [] [INF] curl.cpp:url_to_host(99): url is https://s3.amazonaws.com [INF] curl.cpp:RequestPerform(2520): HTTP response code 200 [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp: unique: 2, success, outsize: 16 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 637 access / 00 unique: 4, success, outsize: 16 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 00 unique: 3, success, outsize: 16 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 637 access / 02 unique: 2, success, outsize: 16 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 637 access / 04 unique: 4, success, outsize: 16 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 637 access / 01 unique: 3, success, outsize: 16 unique: 2, opcode: GETXATTR (22), nodeid: 1, insize: 77, pid: 637 getxattr / com.apple.FinderInfo 32 0 unique: 2, success, outsize: 48 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 477 access / 00 unique: 4, success, outsize: 16 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 00 unique: 3, success, outsize: 16 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 477 access / 02 unique: 2, success, outsize: 16 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 477 access / 04 unique: 4, success, outsize: 16 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 477 access / 01 unique: 3, success, outsize: 16 unique: 2, opcode: GETXATTR (22), nodeid: 1, insize: 77, pid: 477 getxattr / com.apple.FinderInfo 32 0 unique: 2, success, outsize: 48 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 00 unique: 4, success, outsize: 16 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 637 access / 00 unique: 3, success, outsize: 16 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 637 access / 00 unique: 2, success, outsize: 16 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 00 unique: 4, success, outsize: 16 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 477 access / 00 unique: 3, success, outsize: 16 unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 637 statfs / unique: 2, success, outsize: 96 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 477 access / 00 unique: 4, success, outsize: 16 unique: 3, opcode: LOOKUP (1), nodeid: 1, insize: 50, pid: 1408 LOOKUP /.DS_Store getattr /.DS_Store unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 477 statfs / unique: 2, success, outsize: 96 unique: 3, error: -2 (No such file or directory), outsize: 16 unique: 4, opcode: LOOKUP (1), nodeid: 1, insize: 50, pid: 1408 LOOKUP /.DS_Store getattr /.DS_Store s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=W_OK ] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=R_OK ] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=X_OK ] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=W_OK ] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=R_OK ] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=X_OK ] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_getattr(828): [path=/.DS_Store] [INF] curl.cpp:HeadRequest(3159): [tpath=/.DS_Store] [INF] curl.cpp:PreHeadRequest(3119): [tpath=/.DS_Store][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/.DS_Store [INF] curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/.DS_Store [INF] curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/.DS_Store] [] [] [INF] curl.cpp:url_to_host(99): url is https://s3.amazonaws.com [INF] curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT [INF] curl.cpp:HeadRequest(3159): [tpath=/.DS_Store/] [INF] curl.cpp:PreHeadRequest(3119): [tpath=/.DS_Store/][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/.DS_Store/ [INF] curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/.DS_Store/ [INF] curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/.DS_Store/] [] [] [INF] curl.cpp:url_to_host(99): url is https://s3.amazonaws.com [INF] curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT [INF] curl.cpp:HeadRequest(3159): [tpath=/.DS_Store_$folder$] [INF] curl.cpp:PreHeadRequest(3119): [tpath=/.DS_Store_$folder$][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/.DS_Store_%24folder%24 [INF] curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/.DS_Store_%24folder%24 [INF] curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/.DS_Store_$folder$] [] [] [INF] curl.cpp:url_to_host(99): url is https://s3.amazonaws.com [INF] curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT [INF] s3fs.cpp:list_bucket(2558): [path=/.DS_Store] [INF] curl.cpp:ListBucketRequest(3560): [tpath=/.DS_Store] [INF] curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk?delimiter=/&max-keys=2&prefix=.DS_Store/ [INF] curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com?delimiter=/&max-keys=2&prefix=.DS_Store/ [INF] curl.cpp:insertV4Headers(2863): computing signature [GET] [/] [delimiter=/&max-keys=2&prefix=.DS_Store/] [] [INF] curl.cpp:url_to_host(99): url is https://s3.amazonaws.com [INF] curl.cpp:RequestPerform(2520): HTTP response code 200 [INF] s3fs.cpp:s3fs_getattr(828): [path=/.DS_Store] [INF] curl.cpp:HeadRequest(3159): [tpath=/.DS_Store] [INF] curl.cpp:PreHeadRequest(3119): [tpath=/.DS_Store][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/.DS_Store [INF] curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/.DS_Store [INF] curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/.DS_Store] [] [] [INF] curl.cpp:url_to_host(99): url is https://s3.amazonaws.com [INF] curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT [INF] curl.cpp:HeadRequest(3159): [tpath unique: 4, error: -2 (No such file or directory), outsize: 16 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 15610 access / 00 unique: 2, success, outsize: 16 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 869 access / 00 unique: 3, success, outsize: 16 unique: 4, opcode: GETATTR (3), nodeid: 1, insize: 56, pid: 1408 getattr / unique: 4, success, outsize: 136 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 04 unique: 2, success, outsize: 16 unique: 3, opcode: GETXATTR (22), nodeid: 1, insize: 112, pid: 1408 getxattr / com.apple.bookmark.archive.prefer-home-relative-symlink 0 0 unique: 3, error: -45 (Operation not supported), outsize: 16 unique: 4, opcode: LOOKUP (1), nodeid: 1, insize: 44, pid: 1408 LOOKUP /._. getattr /._. =/.DS_Store/] [INF] curl.cpp:PreHeadRequest(3119): [tpath=/.DS_Store/][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/.DS_Store/ [INF] curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/.DS_Store/ [INF] curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/.DS_Store/] [] [] [INF] curl.cpp:url_to_host(99): url is https://s3.amazonaws.com [INF] curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT [INF] curl.cpp:HeadRequest(3159): [tpath=/.DS_Store_$folder$] [INF] curl.cpp:PreHeadRequest(3119): [tpath=/.DS_Store_$folder$][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/.DS_Store_%24folder%24 [INF] curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/.DS_Store_%24folder%24 [INF] curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/.DS_Store_$folder$] [] [] [INF] curl.cpp:url_to_host(99): url is https://s3.amazonaws.com [INF] curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT [INF] s3fs.cpp:list_bucket(2558): [path=/.DS_Store] [INF] curl.cpp:ListBucketRequest(3560): [tpath=/.DS_Store] [INF] curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk?delimiter=/&max-keys=2&prefix=.DS_Store/ [INF] curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com?delimiter=/&max-keys=2&prefix=.DS_Store/ [INF] curl.cpp:insertV4Headers(2863): computing signature [GET] [/] [delimiter=/&max-keys=2&prefix=.DS_Store/] [] [INF] curl.cpp:url_to_host(99): url is https://s3.amazonaws.com [INF] curl.cpp:RequestPerform(2520): HTTP response code 200 [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_getattr(828): [path=/] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=R_OK ] [INF] s3fs.cpp:s3fs_getattr(828): [path=/._.] [INF] curl.cpp:HeadRequest(3159): [tpath=/._.] [INF] curl.cpp:PreHeadRequest(3119): [tpath=/._.][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/._. [INF] curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/._. [INF] curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/._.] [] [] [INF] curl.cpp:url_to_host(99): url is https://s3.amazonaws.com [INF] curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT [INF] curl.cpp:HeadRequest(3159): [tpath=/._./] [INF] curl.cpp:PreHeadRequest(3119): [tpath=/._./][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/._./ [INF] curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/._./ [INF] curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/._./] [] [] [INF] curl.cpp:url_to_host(99): url is https://s3.amazonaws.com [INF] curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT [INF] curl.cpp:HeadRequest(3159): [tpath=/._._$folder$] [INF] curl.cpp:PreHeadRequest(3119): [tpath=/._._$folder$][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/._._%24folder%24 [INF] curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/._._%24folder%24 [INF] curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/._._$folder$] [] [] [INF] curl.cpp:url_to_host(99): url is https://s3.amazonaws.com [INF] curl.cpp:RequestPerform(2545): HTTP response code 404 was returned, returning ENOENT [INF] s3fs.cpp:list_bucket(2558): [path=/._.] [INF] curl.cpp:ListBucketRequest(3560): [tpath=/._.] [INF] curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk?delimiter=/&max-keys=2&prefix=._./ [INF] curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazo unique: 4, error: -2 (No such file or directory), outsize: 16 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 00 unique: 2, success, outsize: 16 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 00 unique: 3, success, outsize: 16 unique: 4, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 1408 statfs / unique: 4, success, outsize: 96 unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 1408 statfs / unique: 2, success, outsize: 96 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 00 unique: 3, success, outsize: 16 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 00 unique: 4, success, outsize: 16 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 00 unique: 2, success, outsize: 16 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 02 unique: 3, success, outsize: 16 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 04 unique: 4, success, outsize: 16 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 01 unique: 2, success, outsize: 16 unique: 3, opcode: GETXATTR (22), nodeid: 1, insize: 77, pid: 1408 getxattr / com.apple.FinderInfo 32 0 unique: 3, success, outsize: 48 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 684 access / 00 unique: 4, success, outsize: 16 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 684 access / 00 unique: 2, success, outsize: 16 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 684 access / 00 unique: 3, success, outsize: 16 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 684 access / 01 unique: 4, success, outsize: 16 unique: 2, opcode: LOOKUP (1), nodeid: 1, insize: 57, pid: 684 LOOKUP /.VolumeIcon.icns getattr /.VolumeIcon.icns NODEID: 2 unique: 2, success, outsize: 160 unique: 3, opcode: ACCESS (34), nodeid: 2, insize: 48, pid: 684 access /.VolumeIcon.icns 00 unique: 3, success, outsize: 16 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 684 access / 00 unique: 4, success, outsize: 16 unique: 2, opcode: ACCESS (34), nodeid: 2, insize: 48, pid: 684 access /.VolumeIcon.icns 04 unique: 2, success, outsize: 16 unique: 3, opcode: OPEN (14), nodeid: 2, insize: 48, pid: 684 open flags: 0x0 /.VolumeIcon.icns open[0] flags: 0x0 /.VolumeIcon.icns unique: 3, success, outsize: 32 unique: 4, opcode: READ (15), nodeid: 2, insize: 80, pid: 684 read[0] 65536 bytes from 0 flags: 0x0 read[0] 65536 bytes from 0 unique: 4, success, outsize: 65552 unique: 2, opcode: READ (15), nodeid: 2, insize: 80, pid: 684 read[0] 65536 bytes from 65536 flags: 0x0 read[0] 65536 bytes from 65536 unique: 2, success, outsize: 65552 unique: 3, opcode: READ (15), nodeid: 2, insize: 80, pid: 684 read[0] 65536 bytes from 131072 flags: 0x0 read[0] 65536 bytes from 131072 unique: 3, success, outsize: 65552 unique: 4, opcode: READ (15), nodeid: 2, insize: 80, pid: 684 read[0] 65536 bytes from 196608 flags: 0x0 read[0] 65536 bytes from 196608 unique: 4, success, outsize: 65552 unique: 2, opcode: READ (15), nodeid: 2, insize: 80, pid: 684 read[0] 65536 bytes from 262144 flags: 0x0 read[0] 65536 bytes from 262144 unique: 2, success, outsize: 65552 unique: 3, opcode: READ (15), nodeid: 2, insize: 80, pid: 684 read[0] 65536 bytes from 327680 flags: 0x0 read[0] 65536 bytes from 327680 unique: 3, success, outsize: 65552 unique: 4, opcode: READ (15), nodeid: 2, insize: 80, pid: 684 read[0] 65536 bytes from 393216 flags: 0x0 read[0] 65536 bytes from 393216 unique: 4, success, outsize: 65552 unique: 2, opcode: READ (15), nodeid: 2, insize: 80, pid: 684 read[0] 65536 bytes from 458752 flags: 0x0 read[0] 65536 bytes from 458752 unique: 2, success, outsize: 65552 unique: 3, opcode: READ (15), nodeid: 2, insize: 80, pid: 684 read[0] 65536 bytes from 524288 flags: 0x0 read[0] 65536 bytes from 524288 unique: 3, success, outsize: 65552 unique: 4, opcode: READ (15), nodeid: 2, insize: 80, pid: 684 read[0] 65536 bytes from 589824 flags: 0x0 read[0] 65536 bytes from 589824 unique: 4, success, outsize: 65552 unique: 2, opcode: READ (15), nodeid: 2, insize: 80, pid: 684 read[0] 65536 bytes from 655360 flags: 0x0 read[0] 65536 bytes from 655360 unique: 2, success, outsize: 65552 unique: 3, opcode: READ (15), nodeid: 2, insize: 80, pid: 684 read[0] 65536 bytes from 720896 flags: 0x0 read[0] 65536 bytes from 720896 unique: 3, success, outsize: 65552 unique: 4, opcode: READ (15), nodeid: 2, insize: 80, pid: 684 read[0] 65536 bytes from 786432 flags: 0x0 read[0] 65536 bytes from 786432 unique: 4, success, outsize: 65552 unique: 2, opcode: READ (15), nodeid: 2, insize: 80, pid: 684 read[0] 65536 bytes from 851968 flags: 0x0 read[0] 65536 bytes from 851968 unique: 2, success, outsize: 65552 unique: 3, opcode: READ (15), nodeid: 2, insize: 80, pid: 684 read[0] 65536 bytes from 917504 flags: 0x0 read[0] 65536 bytes from 917504 unique: 3, success, outsize: 65552 unique: 4, opcode: READ (15), nodeid: 2, insize: 80, pid: 684 read[0] 65536 bytes from 983040 flags: 0x0 read[0] 65536 bytes from 983040 unique: 4, success, outsize: 65552 unique: 2, opcode: READ (15), nodeid: 2, insize: 80, pid: 684 read[0] 65536 bytes from 1048576 flags: 0x0 read[0] 65536 bytes from 1048576 unique: 2, success, outsize: 65552 unique: 3, opcode: READ (15), nodeid: 2, insize: 80, pid: 684 read[0] 65536 bytes from 1114112 flags: 0x0 read[0] 65536 bytes from 1114112 unique: 3, success, outsize: 65552 unique: 4, opcode: READ (15), nodeid: 2, insize: 80, pid: 684 read[0] 65536 bytes from 1179648 flags: 0x0 read[0] 65536 bytes from 1179648 unique: 4, success, outsize: 65552 unique: 2, opcode: READ (15), nodeid: 2, insize: 80, pid: 684 read[0] 65536 bytes from 1245184 flags: 0x0 read[0] 65536 bytes from 1245184 unique: 2, success, outsize: 65552 unique: 3, opcode: READ (15), nodeid: 2, insize: 80, pid: 684 read[0] 65536 bytes from 1310720 flags: 0x0 read[0] 65536 bytes from 1310720 unique: 3, success, outsize: 65552 unique: 4, opcode: READ (15), nodeid: 2, insize: 80, pid: 684 read[0] 65536 bytes from 1376256 flags: 0x0 read[0] 65536 bytes from 1376256 unique: 4, success, outsize: 65552 unique: 2, opcode: READ (15), nodeid: 2, insize: 80, pid: 684 read[0] 65536 bytes from 1441792 flags: 0x0 read[0] 65536 bytes from 1441792 unique: 2, success, outsize: 65552 unique: 3, opcode: READ (15), nodeid: 2, insize: 80, pid: 684 read[0] 65536 bytes from 1507328 flags: 0x0 read[0] 65536 bytes from 1507328 unique: 3, success, outsize: 65552 unique: 4, opcode: READ (15), nodeid: 2, insize: 80, pid: 684 read[0] 65536 bytes from 1572864 flags: 0x0 read[0] 65536 bytes from 1572864 unique: 4, success, outsize: 65552 unique: 2, opcode: READ (15), nodeid: 2, insize: 80, pid: 684 read[0] 65536 bytes from 1638400 flags: 0x0 read[0] 65536 bytes from 1638400 unique: 2, success, outsize: 65552 unique: 3, opcode: READ (15), nodeid: 2, insize: 80, pid: 684 read[0] 4610 bytes from 1703936 flags: 0x0 read[0] 4610 bytes from 1703936 unique: 3, success, outsize: 4626 unique: 4, opcode: FLUSH (25), nodeid: 2, insize: 64, pid: 684 flush[0] lock[0] F_SETLK F_UNLCK start: 0 len: 0 pid: 0 unique: 4, success, outsize: 16 unique: 2, opcode: RELEASE (18), nodeid: 2, insize: 64, pid: 684 release[0] flags: 0x0 unique: 2, success, outsize: 16 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 684 access / 00 unique: 3, success, outsize: 16 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 684 access / 00 unique: 4, success, outsize: 16 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 684 access / 00 unique: 2, success, outsize: 16 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 00 unique: 3, success, outsize: 16 unique: 4, opcode: GETATTR (3), nodeid: 1, insize: 56, pid: 1408 getattr / unique: 4, success, outsize: 136 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 00 unique: 2, success, outsize: 16 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 00 unique: 3, success, outsize: 16 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 02 unique: 4, success, outsize: 16 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 04 unique: 2, success, outsize: 16 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 01 unique: 3, success, outsize: 16 unique: 4, opcode: GETXATTR (22), nodeid: 1, insize: 77, pid: 1408 getxattr / com.apple.FinderInfo 32 0 unique: 4, success, outsize: 48 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 00 unique: 2, success, outsize: 16 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 00 unique: 3, success, outsize: 16 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 00 unique: 4, success, outsize: 16 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 02 unique: 2, success, outsize: 16 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 04 unique: 3, success, outsize: 16 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 1408 access / 01 unique: 4, success, outsize: 16 unique: 2, opcode: GETXATTR (22), nodeid: 1, insize: 77, pid: 1408 getxattr / com.apple.FinderInfo 32 0 unique: 2, success, outsize: 48 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 684 access / 00 unique: 3, success, outsize: 16 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 684 access / 00 unique: 4, success, outsize: 16 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 684 access / 00 unique: 2, success, outsize: 16 unique: 3, opcode: ACCESS (34), nodeid: 2, insize: 48, pid: 684 access /.VolumeIcon.icns 00 unique: 3, success, outsize: 16 unique: 4, opcode: GETATTR (3), nodeid: 2, insize: 56, pid: 684 getattr /.VolumeIcon.icns unique: 4, success, outsize: 136 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 684 access / 00 unique: 2, success, outsize: 16 unique: 3, opcode: ACCESS (34), nodeid: 2, insize: 48, pid: 684 access /.VolumeIcon.icns 04 unique: 3, success, outsize: 16 unique: 4, opcode: OPEN (14), nodeid: 2, insize: 48, pid: 684 open flags: 0x0 /.VolumeIcon.icns open[0] flags: 0x0 /.VolumeIcon.icns unique: 4, success, outsize: 32 unique: 2, opcode: FLUSH (25), nodeid: 2, insize: 64, pid: 684 flush[0] lock[0] F_SETLK F_UNLCK start: 0 len: 0 pid: 0 unique: 2, success, outsize: 16 unique: 3, opcode: RELEASE (18), nodeid: 2, insize: 64, pid: 684 release[0] flags: 0x0 unique: 3, success, outsize: 16 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 684 access / 00 unique: 4, success, outsize: 16 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 684 access / 00 unique: 2, success, outsize: 16 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 684 access / 00 unique: 3, success, outsize: 16 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 12474 access / 01 unique: 4, success, outsize: 16 unique: 2, opcode: LOOKUP (1), nodeid: 1, insize: 51, pid: 12474 LOOKUP /index.html getattr /index.html NODEID: 3 unique: 2, success, outsize: 160 unique: 3, opcode: ACCESS (34), nodeid: 3, insize: 48, pid: 12474 access /index.html 04 unique: 3, success, outsize: 16 unique: 4, opcode: OPEN (14), nodeid: 3, insize: 48, pid: 12474 open flags: 0x0 /index.html naws.com?delimiter=/&max-keys=2&prefix=._./ [INF] curl.cpp:insertV4Headers(2863): computing signature [GET] [/] [delimiter=/&max-keys=2&prefix=._./] [] [INF] curl.cpp:url_to_host(99): url is https://s3.amazonaws.com [INF] curl.cpp:RequestPerform(2520): HTTP response code 200 [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=W_OK ] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=R_OK ] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=X_OK ] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=X_OK ] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_getattr(828): [path=/] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=W_OK ] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=R_OK ] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=X_OK ] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=W_OK ] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=R_OK ] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=X_OK ] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=X_OK ] [INF] s3fs.cpp:s3fs_getattr(828): [path=/index.html] [INF] curl.cpp:HeadRequest(3159): [tpath=/index.html] [INF] curl.cpp:PreHeadRequest(3119): [tpath=/index.html][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/index.html [INF] curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/index.html [INF] curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/index.html] [] [] [INF] curl.cpp:url_to_host(99): url is https://s3.amazonaws.com [INF] curl.cpp:RequestPerform(2520): HTTP response code 200 [INF] cache.cpp:AddStat(379): add stat cache entry[path=/index.html] [INF] s3fs.cpp:s3fs_access(3532): [path=/index.html][mask=R_OK ] [INF] s3fs.cpp:s3fs_open(2132): [path=/index.html][flags=0x0] [INF] s3fs.cpp:s3fs_flush(2264): [path=/index.html][fd=0] [INF] cache.cpp:DelStat(590): delete stat cache entry[path=/index.html] [INF] curl.cpp:HeadRequest(3159): [tpath=/index.html] [INF] curl.cpp:PreHeadRequest(3119): [tpath=/index.html][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4831): URL is https://s3.amazonaws.com/ctbk/index.html [INF] curl.cpp:prepare_url(4864): URL changed is https://ctbk.s3.amazonaws.com/index.html [INF] curl.cpp:insertV4Headers(2863): computing signature [HEAD] [/index.html] [] [] [INF] curl.cpp:url_to_host(99): url is https://s3.amazonaws.com [INF] curl.cpp:RequestPerform(2520): HTTP response code 200 [INF] cache.cpp:AddStat(379): add stat cache entry[path=/index.html] [ERR] fdcache.cpp:OpenMirrorFile(1460): could not link mirror file(/Volumes/T7/tmp/.ctbk.mirror/3efaefd9.tmp) to cache file(/Volumes/T7/tmp/ctbk/index.html) by errno(45). [ERR] fdcache.cpp:Open(1613): failed to unique: 4, error: -5 (Input/output error), outsize: 16 unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 68 statfs / unique: 2, success, outsize: 96 unique: 3, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 528 unique: 4, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 217 statfs / unique: 4, success, outsize: 96 statfs / unique: 3, success, outsize: 96 unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 217 statfs / unique: 2, success, outsize: 96 unique: 4, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 528 statfs / unique: 4, success, outsize: 96 unique: 3, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 10423 access / 00 unique: 3, success, outsize: 16 unique: 2, opcode: GETATTR (3), nodeid: 1, insize: 56, pid: 10423 getattr / unique: 2, success, outsize: 136 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 10394 access / 00 unique: 4, success, outsize: 16 unique: 3, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 547 statfs / unique: 3, success, outsize: 96 unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 547 statfs / unique: 2, success, outsize: 96 unique: 4, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 10424 access / 00 unique: 4, success, outsize: 16 unique: 3, opcode: FORGET (2), nodeid: 3, insize: 48, pid: 12526 FORGET 3/1 DELETE: 3 unique: 2, opcode: FORGET (2), nodeid: 2, insize: 48, pid: 12526 FORGET 2/1 DELETE: 2 unique: 4, opcode: DESTROY (38), nodeid: 1, insize: 40, pid: 12526 unique: 4, success, outsize: 16 open mirror file linked cache file(/Volumes/T7/tmp/ctbk/index.html). [INF] cache.cpp:DelStat(590): delete stat cache entry[path=/index.html] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_getattr(828): [path=/] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_access(3532): [path=/][mask=F_OK] [INF] s3fs.cpp:s3fs_destroy(3513): destroy [WAN] s3fs.cpp:s3fs_destroy(3517): Failed to clean up signal object. [WAN] fdcache.cpp:Clear(1328): failed to remove mirror cache file(/Volumes/T7/tmp/.ctbk.mirror/3efaefd9.tmp) by errno(2). ``` </details> > What filesystem do you use on the external drive? FAT32 does not support hard links so we expect an error It looks like ExFAT, which I'm guessing doesn't support hard links, as you suggested: <details> <summary> <code>diskutil info /Volumes/T7</code> </summary> ``` Device Identifier: disk2s1 Device Node: /dev/disk2s1 Whole: No Part of Whole: disk2 Volume Name: T7 Mounted: Yes Mount Point: /Volumes/T7 Partition Type: Windows_NTFS File System Personality: ExFAT Type (Bundle): exfat Name (User Visible): ExFAT OS Can Be Installed: No Media Type: Generic Protocol: USB SMART Status: Not Supported Volume UUID: 7DEFB4F5-A5F4-3E34-AA71-69B5215246F2 Partition Offset: 1048576 Bytes (2048 512-Byte-Device-Blocks) Disk Size: 2.0 TB (2000396321280 Bytes) (exactly 3907024065 512-Byte-Units) Device Block Size: 512 Bytes Volume Total Space: 2.0 TB (2000333307904 Bytes) (exactly 3906900992 512-Byte-Units) Volume Used Space: 1.3 TB (1305920536576 Bytes) (exactly 2550626048 512-Byte-Units) (65.3%) Volume Free Space: 694.4 GB (694412771328 Bytes) (exactly 1356274944 512-Byte-Units) (34.7%) Allocation Block Size: 131072 Bytes Media OS Use Only: No Media Read-Only: No Volume Read-Only: No Device Location: External Removable Media: Fixed Solid State: Yes ``` </details> So I guess that solves the issue, thanks! I will look into reformatting this drive. **I also wonder if `s3fs` could work around this if it detects a drive doesn't support hard links?** > Are the mirror file and cache file on different file systems? Hard links can only be created on the same filesystem. I believe they are in all of my examples (they both go under the root path passed to `-o use_cache`, from what I can tell), but that's a good thing to flag. > Also I notice you have gotten s3fs to work with a newer version of MacFUSE. We could use some help in #1632 documenting how to get this to work with newer hardware and versions. Interesting, yea I had to `brew uninstall osxfuse`, and install macFUSE, but other than that I don't think I did anything special. I'm on a 2017 mbp, but I also have an M1 here I can test this on. I'll leave a note on #1632 as well.
Author
Owner

@gaul commented on GitHub (Apr 25, 2021):

[ERR] fdcache.cpp:OpenMirrorFile(1460): could not link mirror file(/Volumes/T7/tmp/.ctbk.mirror/3efaefd9.tmp) to cache file(/Volumes/T7/tmp/ctbk/index.html) by errno(45).
[ERR] fdcache.cpp:Open(1613): failed to unique: 4, error: -5 (Input/output error), outsize: 16

errno 45 on macOS corresponds to ENOTSUP which makes sense that FAT filesystem would return it: https://developer.apple.com/library/archive/documentation/System/Conceptual/ManPages_iPhoneOS/man2/intro.2.html. s3fs 1.87 propagates this as EIO but later versions pass the correct errno to the caller.

I will look into reformatting this drive. I also wonder if s3fs could work around this if it detects a drive doesn't support hard links?

@ggtakec I am unclear why s3fs must use hard links here? Any ideas?

<!-- gh-comment-id:826336020 --> @gaul commented on GitHub (Apr 25, 2021): > [ERR] fdcache.cpp:OpenMirrorFile(1460): could not link mirror file(/Volumes/T7/tmp/.ctbk.mirror/3efaefd9.tmp) to cache file(/Volumes/T7/tmp/ctbk/index.html) by errno(45). > [ERR] fdcache.cpp:Open(1613): failed to unique: 4, error: -5 (Input/output error), outsize: 16 errno 45 on macOS corresponds to `ENOTSUP` which makes sense that FAT filesystem would return it: https://developer.apple.com/library/archive/documentation/System/Conceptual/ManPages_iPhoneOS/man2/intro.2.html. s3fs 1.87 propagates this as `EIO` but later versions pass the correct errno to the caller. > I will look into reformatting this drive. I also wonder if s3fs could work around this if it detects a drive doesn't support hard links? @ggtakec I am unclear why s3fs must use hard links here? Any ideas?
Author
Owner

@ryan-williams commented on GitHub (May 3, 2021):

I've summarized my take-aways in the top comment, and am going to close this, though happy to continue discussing / updating if folks have more to add.

<!-- gh-comment-id:831306068 --> @ryan-williams commented on GitHub (May 3, 2021): I've summarized my take-aways in the top comment, and am going to close this, though happy to continue discussing / updating if folks have more to add.
Author
Owner

@ggtakec commented on GitHub (Jan 9, 2022):

This issue is closed due to late my reply, but I would like to answer the question.

@ggtakec I am unclear why s3fs must use hard links here? Any ideas?

The reason for using hard links is to open and operate the same file from multiple processes (threads).
For example, Process A opens, writes, and flushes (closes) a file.
And suppose process B removed/renamed it before flushing by process A.
Also, if the C process opens a file with the same original file name after renaming ...etc.
s3fs is a slow device that does HTTP POST over the network. Thus, the above collisions can occur.
s3fs is using a hard link so that if a removing/renaming occurs during an operation (it may be uploading or just opened), the operation can be completed.
This is a preventive measure to prevent the cache file from being removed/renamed, and newly created with the same file name before opening and uploading.

<!-- gh-comment-id:1008217803 --> @ggtakec commented on GitHub (Jan 9, 2022): This issue is closed due to late my reply, but I would like to answer the question. > @ggtakec I am unclear why s3fs must use hard links here? Any ideas? The reason for using hard links is to open and operate the same file from multiple processes (threads). For example, Process A opens, writes, and flushes (closes) a file. And suppose process B removed/renamed it before flushing by process A. Also, if the C process opens a file with the same original file name after renaming ...etc. s3fs is a slow device that does HTTP POST over the network. Thus, the above collisions can occur. s3fs is using a hard link so that if a removing/renaming occurs during an operation (it may be uploading or just opened), the operation can be completed. This is a preventive measure to prevent the cache file from being removed/renamed, and newly created with the same file name before opening and uploading.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/s3fs-fuse#857
No description provided.