[GH-ISSUE #169] Problem with encfs #99

Closed
opened 2026-03-04 01:42:06 +03:00 by kerem · 10 comments
Owner

Originally created by @delx on GitHub (Apr 16, 2015).
Original GitHub issue: https://github.com/s3fs-fuse/s3fs-fuse/issues/169

I executed s3fs-fuse (latest master) with the following command:

/opt/s3fs-fuse/bin/s3fs -f -d bucket /mnt/s3/ -o allow_other,uid=33,noatime,max_stat_cache_size=0

Then on top of s3fs-fuse I mounted a encfs file system:

encfs -f -d --public --extpass="cat /root/password" -o uid=33 /mnt/s3/ /mnt/encfs/

There is a file with path /mnt/encfs/test/file that has 30 KB. I executed the following command:

echo CONTENT > /mnt/encfs/test/file

After this command the file still has 30 KB although it should only have 8 bytes!

root# ls -l /mnt/encfs/test/file
-rw-r--r-- 1 www-data root 29395 Apr 16 15:38 /mnt/encfs/test/file

The output of s3fs-fuse:

set_moutpoint_attribute(3530): PROC(uid=0, gid=0) - MountPoint(uid=0, gid=0, mode=40755)
s3fs_init(2713): init
s3fs_check_service(3070): check services.
    CheckBucket(2518): check a bucket.
    insertV4Headers(1954): computing signature [GET] [/] [] []
    url_to_host(99): url is http://s3.amazonaws.com
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/
    RequestPerform(1632): HTTP response code 400
    RequestPerform(1646): HTTP response code 400 was returned, returing EIO.
CheckBucket(2556): Check bucket failed, S3 response: <?xml version="1.0" encoding="UTF-8"?>
<Error><Code>AuthorizationHeaderMalformed</Code><Message>The authorization header is malformed; the region 'us-east-1' is wrong; expecting 'eu-central-1'</Message><Region>eu-central-1</Region><RequestId>38128C004E63105C</RequestId><HostId>[cut]</HostId></Error>
s3fs_check_service(3103): Could not connect wrong region us-east-1, so retry to connect region eu-central-1.
    CheckBucket(2518): check a bucket.
    insertV4Headers(1954): computing signature [GET] [/] [] []
    url_to_host(99): url is http://s3.amazonaws.com
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/
    RequestPerform(1632): HTTP response code 200

[encfs starts now]

s3fs_getattr(722): [path=/]
s3fs_getattr(722): [path=/.encfs6.xml]
    HeadRequest(2150): [tpath=/.encfs6.xml]
    insertV4Headers(1954): computing signature [HEAD] [/.encfs6.xml] [] []
    url_to_host(99): url is http://s3.amazonaws.com
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/.encfs6.xml
    RequestPerform(1632): HTTP response code 200
s3fs_open(1912): [path=/.encfs6.xml][flags=32768]
    DelStat(370): delete stat cache entry[path=/.encfs6.xml]
    HeadRequest(2150): [tpath=/.encfs6.xml]
    insertV4Headers(1954): computing signature [HEAD] [/.encfs6.xml] [] []
    url_to_host(99): url is http://s3.amazonaws.com
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/.encfs6.xml
    RequestPerform(1632): HTTP response code 200
    GetObjectRequest(2493): [tpath=/.encfs6.xml][start=0][size=1087]
    HeadRequest(2150): [tpath=/.encfs6.xml]
    insertV4Headers(1954): computing signature [HEAD] [/.encfs6.xml] [] []
    url_to_host(99): url is http://s3.amazonaws.com
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/.encfs6.xml
    RequestPerform(1632): HTTP response code 200
    PreGetObjectRequest(2423): [tpath=/.encfs6.xml][start=0][size=1087]
    insertV4Headers(1954): computing signature [GET] [/.encfs6.xml] [] []
    url_to_host(99): url is http://s3.amazonaws.com
    GetObjectRequest(2508): downloading... [path=/.encfs6.xml][fd=5]
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/.encfs6.xml
    RequestPerform(1632): HTTP response code 206
s3fs_flush(2018): [path=/.encfs6.xml][fd=5]
    HeadRequest(2150): [tpath=/.encfs6.xml]
    insertV4Headers(1954): computing signature [HEAD] [/.encfs6.xml] [] []
    url_to_host(99): url is http://s3.amazonaws.com
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/.encfs6.xml
    RequestPerform(1632): HTTP response code 200
    HeadRequest(2150): [tpath=/.encfs6.xml]
    insertV4Headers(1954): computing signature [HEAD] [/.encfs6.xml] [] []
    url_to_host(99): url is http://s3.amazonaws.com
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/.encfs6.xml
    RequestPerform(1632): HTTP response code 200
s3fs_release(2090): [path=/.encfs6.xml][fd=5]

[echo execution begins here]

s3fs_getattr(722): [path=/]
s3fs_getattr(722): [path=/test]
    HeadRequest(2150): [tpath=/test]
    insertV4Headers(1954): computing signature [HEAD] [/test] [] []
    url_to_host(99): url is http://s3.amazonaws.com
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test
    RequestPerform(1632): HTTP response code 404
    RequestPerform(1656): HTTP response code 404 was returned, returning ENOENT
    HeadRequest(2150): [tpath=/test/]
    insertV4Headers(1954): computing signature [HEAD] [/test/] [] []
    url_to_host(99): url is http://s3.amazonaws.com
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/
    RequestPerform(1632): HTTP response code 200
s3fs_getattr(722): [path=/test/file]
    HeadRequest(2150): [tpath=/test]
    insertV4Headers(1954): computing signature [HEAD] [/test] [] []
    url_to_host(99): url is http://s3.amazonaws.com
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test
    RequestPerform(1632): HTTP response code 404
    RequestPerform(1656): HTTP response code 404 was returned, returning ENOENT
    HeadRequest(2150): [tpath=/test/]
    insertV4Headers(1954): computing signature [HEAD] [/test/] [] []
    url_to_host(99): url is http://s3.amazonaws.com
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/
    RequestPerform(1632): HTTP response code 200
    HeadRequest(2150): [tpath=/test/file]
    insertV4Headers(1954): computing signature [HEAD] [/test/file] [] []
    url_to_host(99): url is http://s3.amazonaws.com
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/file
    RequestPerform(1632): HTTP response code 200
s3fs_open(1912): [path=/test/file][flags=32770]
    DelStat(370): delete stat cache entry[path=/test/file]
    HeadRequest(2150): [tpath=/test]
    insertV4Headers(1954): computing signature [HEAD] [/test] [] []
    url_to_host(99): url is http://s3.amazonaws.com
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test
    RequestPerform(1632): HTTP response code 404
    RequestPerform(1656): HTTP response code 404 was returned, returning ENOENT
    HeadRequest(2150): [tpath=/test/]
    insertV4Headers(1954): computing signature [HEAD] [/test/] [] []
    url_to_host(99): url is http://s3.amazonaws.com
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/
    RequestPerform(1632): HTTP response code 200
    HeadRequest(2150): [tpath=/test/file]
    insertV4Headers(1954): computing signature [HEAD] [/test/file] [] []
    url_to_host(99): url is http://s3.amazonaws.com
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/file
    RequestPerform(1632): HTTP response code 200
    GetObjectRequest(2493): [tpath=/test/file][start=0][size=29403]
    HeadRequest(2150): [tpath=/test/file]
    insertV4Headers(1954): computing signature [HEAD] [/test/file] [] []
    url_to_host(99): url is http://s3.amazonaws.com
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/file
    RequestPerform(1632): HTTP response code 200
    PreGetObjectRequest(2423): [tpath=/test/file][start=0][size=29403]
    insertV4Headers(1954): computing signature [GET] [/test/file] [] []
    url_to_host(99): url is http://s3.amazonaws.com
    GetObjectRequest(2508): downloading... [path=/test/file][fd=5]
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/file
    RequestPerform(1632): HTTP response code 206
s3fs_truncate(1862): [path=/test/file][size=8]
    HeadRequest(2150): [tpath=/test]
    insertV4Headers(1954): computing signature [HEAD] [/test] [] []
    url_to_host(99): url is http://s3.amazonaws.com
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test
    RequestPerform(1632): HTTP response code 404
    RequestPerform(1656): HTTP response code 404 was returned, returning ENOENT
    HeadRequest(2150): [tpath=/test/]
    insertV4Headers(1954): computing signature [HEAD] [/test/] [] []
    url_to_host(99): url is http://s3.amazonaws.com
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/
    RequestPerform(1632): HTTP response code 200
    HeadRequest(2150): [tpath=/test/file]
    insertV4Headers(1954): computing signature [HEAD] [/test/file] [] []
    url_to_host(99): url is http://s3.amazonaws.com
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/file
    RequestPerform(1632): HTTP response code 200
    HeadRequest(2150): [tpath=/test/file]
    insertV4Headers(1954): computing signature [HEAD] [/test/file] [] []
    url_to_host(99): url is http://s3.amazonaws.com
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/file
    RequestPerform(1632): HTTP response code 200
    GetObjectRequest(2493): [tpath=/test/file][start=0][size=8]
    HeadRequest(2150): [tpath=/test/file]
    insertV4Headers(1954): computing signature [HEAD] [/test/file] [] []
    url_to_host(99): url is http://s3.amazonaws.com
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/file
    RequestPerform(1632): HTTP response code 200
    PreGetObjectRequest(2423): [tpath=/test/file][start=0][size=8]
    insertV4Headers(1954): computing signature [GET] [/test/file] [] []
    url_to_host(99): url is http://s3.amazonaws.com
    GetObjectRequest(2508): downloading... [path=/test/file][fd=6]
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/file
    RequestPerform(1632): HTTP response code 206
    PutRequest(2303): [tpath=/test/file]
    insertV4Headers(1954): computing signature [PUT] [/test/file] [] [bf0fd1555d0925e43141d17dc407d042db63af6620e3647f2328e752e0fb2509]
    url_to_host(99): url is http://s3.amazonaws.com
    PutRequest(2409): uploading... [path=/test/file][fd=6][size=8]
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/file
    RequestPerform(1632): HTTP response code 200
    DelStat(370): delete stat cache entry[path=/test/file]
s3fs_getattr(722): [path=/test/file]
    HeadRequest(2150): [tpath=/test]
    insertV4Headers(1954): computing signature [HEAD] [/test] [] []
    url_to_host(99): url is http://s3.amazonaws.com
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test
    RequestPerform(1632): HTTP response code 404
    RequestPerform(1656): HTTP response code 404 was returned, returning ENOENT
    HeadRequest(2150): [tpath=/test/]
    insertV4Headers(1954): computing signature [HEAD] [/test/] [] []
    url_to_host(99): url is http://s3.amazonaws.com
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/
    RequestPerform(1632): HTTP response code 200
    HeadRequest(2150): [tpath=/test/file]
    insertV4Headers(1954): computing signature [HEAD] [/test/file] [] []
    url_to_host(99): url is http://s3.amazonaws.com
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/file
    RequestPerform(1632): HTTP response code 200
s3fs_fsync(2063): [path=/test/file][fd=5]
    HeadRequest(2150): [tpath=/test/file]
    insertV4Headers(1954): computing signature [HEAD] [/test/file] [] []
    url_to_host(99): url is http://s3.amazonaws.com
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/file
    RequestPerform(1632): HTTP response code 200
s3fs_flush(2018): [path=/test/file][fd=5]
    HeadRequest(2150): [tpath=/test]
    insertV4Headers(1954): computing signature [HEAD] [/test] [] []
    url_to_host(99): url is http://s3.amazonaws.com
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test
    RequestPerform(1632): HTTP response code 404
    RequestPerform(1656): HTTP response code 404 was returned, returning ENOENT
    HeadRequest(2150): [tpath=/test/]
    insertV4Headers(1954): computing signature [HEAD] [/test/] [] []
    url_to_host(99): url is http://s3.amazonaws.com
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/
    RequestPerform(1632): HTTP response code 200
    HeadRequest(2150): [tpath=/test/file]
    insertV4Headers(1954): computing signature [HEAD] [/test/file] [] []
    url_to_host(99): url is http://s3.amazonaws.com
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/file
    RequestPerform(1632): HTTP response code 200
    HeadRequest(2150): [tpath=/test/file]
    insertV4Headers(1954): computing signature [HEAD] [/test/file] [] []
    url_to_host(99): url is http://s3.amazonaws.com
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/file
    RequestPerform(1632): HTTP response code 200
s3fs_flush(2018): [path=/test/file][fd=5]
    HeadRequest(2150): [tpath=/test]
    insertV4Headers(1954): computing signature [HEAD] [/test] [] []
    url_to_host(99): url is http://s3.amazonaws.com
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test
    RequestPerform(1632): HTTP response code 404
    RequestPerform(1656): HTTP response code 404 was returned, returning ENOENT
    HeadRequest(2150): [tpath=/test/]
    insertV4Headers(1954): computing signature [HEAD] [/test/] [] []
    url_to_host(99): url is http://s3.amazonaws.com
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/
    RequestPerform(1632): HTTP response code 200
    HeadRequest(2150): [tpath=/test/file]
    insertV4Headers(1954): computing signature [HEAD] [/test/file] [] []
    url_to_host(99): url is http://s3.amazonaws.com
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/file
    RequestPerform(1632): HTTP response code 200
    HeadRequest(2150): [tpath=/test/file]
    insertV4Headers(1954): computing signature [HEAD] [/test/file] [] []
    url_to_host(99): url is http://s3.amazonaws.com
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/file
    RequestPerform(1632): HTTP response code 200
    PutRequest(2303): [tpath=/test/file]
    insertV4Headers(1954): computing signature [PUT] [/test/file] [] [f85b1d9e86110106e177386abebf2ffc4c9fc20da141741ffdc5ee4eafb6a9f1]
    url_to_host(99): url is http://s3.amazonaws.com
    PutRequest(2409): uploading... [path=/test/file][fd=5][size=29403]
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/file
    RequestPerform(1632): HTTP response code 200
s3fs_flush(2018): [path=/test/file][fd=5]
    HeadRequest(2150): [tpath=/test]
    insertV4Headers(1954): computing signature [HEAD] [/test] [] []
    url_to_host(99): url is http://s3.amazonaws.com
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test
    RequestPerform(1632): HTTP response code 404
    RequestPerform(1656): HTTP response code 404 was returned, returning ENOENT
    HeadRequest(2150): [tpath=/test/]
    insertV4Headers(1954): computing signature [HEAD] [/test/] [] []
    url_to_host(99): url is http://s3.amazonaws.com
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/
    RequestPerform(1632): HTTP response code 200
    HeadRequest(2150): [tpath=/test/file]
    insertV4Headers(1954): computing signature [HEAD] [/test/file] [] []
    url_to_host(99): url is http://s3.amazonaws.com
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/file
    RequestPerform(1632): HTTP response code 200
    HeadRequest(2150): [tpath=/test/file]
    insertV4Headers(1954): computing signature [HEAD] [/test/file] [] []
    url_to_host(99): url is http://s3.amazonaws.com
    RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/file
    RequestPerform(1632): HTTP response code 200
s3fs_release(2090): [path=/test/file][fd=5]
    DelStat(370): delete stat cache entry[path=/test/file]
s3fs_destroy(2756): destroy

The output of encfs (with "operation not supported" errors):

FUSE library version: 2.9.0
nullpath_ok: 0
nopath: 0
utime_omit_ok: 0
unique: 1, opcode: INIT (26), nodeid: 0, insize: 56, pid: 0
INIT: 7.17
flags=0x0000047b
max_readahead=0x00020000
   INIT: 7.18
   flags=0x00000011
   max_readahead=0x00020000
   max_write=0x00020000
   max_background=0
   congestion_threshold=0
   unique: 1, success, outsize: 40

[echo execution starts here]

unique: 2, opcode: GETATTR (3), nodeid: 1, insize: 56, pid: 8739
getattr /
   unique: 2, success, outsize: 120
unique: 3, opcode: LOOKUP (1), nodeid: 1, insize: 45, pid: 8739
LOOKUP /test
getattr /test
   NODEID: 2
   unique: 3, success, outsize: 144
unique: 4, opcode: LOOKUP (1), nodeid: 2, insize: 45, pid: 8739
LOOKUP /test/file
getattr /test/file
   NODEID: 3
   unique: 4, success, outsize: 144
unique: 5, opcode: OPEN (14), nodeid: 3, insize: 48, pid: 8739
open flags: 0x8001 /test/file
   open[14826864] flags: 0x8001 /test/file
   unique: 5, success, outsize: 32
unique: 6, opcode: SETATTR (4), nodeid: 3, insize: 128, pid: 8739
truncate /test/file 0
getattr /test/file
   unique: 6, success, outsize: 120
unique: 7, opcode: FLUSH (25), nodeid: 3, insize: 64, pid: 8739
flush[14826864]
   unique: 7, success, outsize: 16
unique: 8, opcode: GETXATTR (22), nodeid: 3, insize: 68, pid: 8739
getxattr /test/file security.capability 0
   unique: 8, error: -95 (Operation not supported), outsize: 16
unique: 9, opcode: WRITE (16), nodeid: 3, insize: 88, pid: 8739
write[14826864] 8 bytes to 0 flags: 0x8001
   write[14826864] 8 bytes to 0
   unique: 9, success, outsize: 24
unique: 10, opcode: FLUSH (25), nodeid: 3, insize: 64, pid: 8739
flush[14826864]
   unique: 10, success, outsize: 16
unique: 11, opcode: RELEASE (18), nodeid: 3, insize: 64, pid: 0
release[14826864] flags: 0x8001
   unique: 11, success, outsize: 16

If you want me to test something, just leave me a message.

Originally created by @delx on GitHub (Apr 16, 2015). Original GitHub issue: https://github.com/s3fs-fuse/s3fs-fuse/issues/169 I executed s3fs-fuse (latest master) with the following command: ``` /opt/s3fs-fuse/bin/s3fs -f -d bucket /mnt/s3/ -o allow_other,uid=33,noatime,max_stat_cache_size=0 ``` Then on top of s3fs-fuse I mounted a encfs file system: ``` encfs -f -d --public --extpass="cat /root/password" -o uid=33 /mnt/s3/ /mnt/encfs/ ``` There is a file with path `/mnt/encfs/test/file` that has 30 KB. I executed the following command: ``` echo CONTENT > /mnt/encfs/test/file ``` **After this command the file still has 30 KB although it should only have 8 bytes!** ``` root# ls -l /mnt/encfs/test/file -rw-r--r-- 1 www-data root 29395 Apr 16 15:38 /mnt/encfs/test/file ``` The output of s3fs-fuse: ``` set_moutpoint_attribute(3530): PROC(uid=0, gid=0) - MountPoint(uid=0, gid=0, mode=40755) s3fs_init(2713): init s3fs_check_service(3070): check services. CheckBucket(2518): check a bucket. insertV4Headers(1954): computing signature [GET] [/] [] [] url_to_host(99): url is http://s3.amazonaws.com RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/ RequestPerform(1632): HTTP response code 400 RequestPerform(1646): HTTP response code 400 was returned, returing EIO. CheckBucket(2556): Check bucket failed, S3 response: <?xml version="1.0" encoding="UTF-8"?> <Error><Code>AuthorizationHeaderMalformed</Code><Message>The authorization header is malformed; the region 'us-east-1' is wrong; expecting 'eu-central-1'</Message><Region>eu-central-1</Region><RequestId>38128C004E63105C</RequestId><HostId>[cut]</HostId></Error> s3fs_check_service(3103): Could not connect wrong region us-east-1, so retry to connect region eu-central-1. CheckBucket(2518): check a bucket. insertV4Headers(1954): computing signature [GET] [/] [] [] url_to_host(99): url is http://s3.amazonaws.com RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/ RequestPerform(1632): HTTP response code 200 [encfs starts now] s3fs_getattr(722): [path=/] s3fs_getattr(722): [path=/.encfs6.xml] HeadRequest(2150): [tpath=/.encfs6.xml] insertV4Headers(1954): computing signature [HEAD] [/.encfs6.xml] [] [] url_to_host(99): url is http://s3.amazonaws.com RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/.encfs6.xml RequestPerform(1632): HTTP response code 200 s3fs_open(1912): [path=/.encfs6.xml][flags=32768] DelStat(370): delete stat cache entry[path=/.encfs6.xml] HeadRequest(2150): [tpath=/.encfs6.xml] insertV4Headers(1954): computing signature [HEAD] [/.encfs6.xml] [] [] url_to_host(99): url is http://s3.amazonaws.com RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/.encfs6.xml RequestPerform(1632): HTTP response code 200 GetObjectRequest(2493): [tpath=/.encfs6.xml][start=0][size=1087] HeadRequest(2150): [tpath=/.encfs6.xml] insertV4Headers(1954): computing signature [HEAD] [/.encfs6.xml] [] [] url_to_host(99): url is http://s3.amazonaws.com RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/.encfs6.xml RequestPerform(1632): HTTP response code 200 PreGetObjectRequest(2423): [tpath=/.encfs6.xml][start=0][size=1087] insertV4Headers(1954): computing signature [GET] [/.encfs6.xml] [] [] url_to_host(99): url is http://s3.amazonaws.com GetObjectRequest(2508): downloading... [path=/.encfs6.xml][fd=5] RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/.encfs6.xml RequestPerform(1632): HTTP response code 206 s3fs_flush(2018): [path=/.encfs6.xml][fd=5] HeadRequest(2150): [tpath=/.encfs6.xml] insertV4Headers(1954): computing signature [HEAD] [/.encfs6.xml] [] [] url_to_host(99): url is http://s3.amazonaws.com RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/.encfs6.xml RequestPerform(1632): HTTP response code 200 HeadRequest(2150): [tpath=/.encfs6.xml] insertV4Headers(1954): computing signature [HEAD] [/.encfs6.xml] [] [] url_to_host(99): url is http://s3.amazonaws.com RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/.encfs6.xml RequestPerform(1632): HTTP response code 200 s3fs_release(2090): [path=/.encfs6.xml][fd=5] [echo execution begins here] s3fs_getattr(722): [path=/] s3fs_getattr(722): [path=/test] HeadRequest(2150): [tpath=/test] insertV4Headers(1954): computing signature [HEAD] [/test] [] [] url_to_host(99): url is http://s3.amazonaws.com RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test RequestPerform(1632): HTTP response code 404 RequestPerform(1656): HTTP response code 404 was returned, returning ENOENT HeadRequest(2150): [tpath=/test/] insertV4Headers(1954): computing signature [HEAD] [/test/] [] [] url_to_host(99): url is http://s3.amazonaws.com RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/ RequestPerform(1632): HTTP response code 200 s3fs_getattr(722): [path=/test/file] HeadRequest(2150): [tpath=/test] insertV4Headers(1954): computing signature [HEAD] [/test] [] [] url_to_host(99): url is http://s3.amazonaws.com RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test RequestPerform(1632): HTTP response code 404 RequestPerform(1656): HTTP response code 404 was returned, returning ENOENT HeadRequest(2150): [tpath=/test/] insertV4Headers(1954): computing signature [HEAD] [/test/] [] [] url_to_host(99): url is http://s3.amazonaws.com RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/ RequestPerform(1632): HTTP response code 200 HeadRequest(2150): [tpath=/test/file] insertV4Headers(1954): computing signature [HEAD] [/test/file] [] [] url_to_host(99): url is http://s3.amazonaws.com RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/file RequestPerform(1632): HTTP response code 200 s3fs_open(1912): [path=/test/file][flags=32770] DelStat(370): delete stat cache entry[path=/test/file] HeadRequest(2150): [tpath=/test] insertV4Headers(1954): computing signature [HEAD] [/test] [] [] url_to_host(99): url is http://s3.amazonaws.com RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test RequestPerform(1632): HTTP response code 404 RequestPerform(1656): HTTP response code 404 was returned, returning ENOENT HeadRequest(2150): [tpath=/test/] insertV4Headers(1954): computing signature [HEAD] [/test/] [] [] url_to_host(99): url is http://s3.amazonaws.com RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/ RequestPerform(1632): HTTP response code 200 HeadRequest(2150): [tpath=/test/file] insertV4Headers(1954): computing signature [HEAD] [/test/file] [] [] url_to_host(99): url is http://s3.amazonaws.com RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/file RequestPerform(1632): HTTP response code 200 GetObjectRequest(2493): [tpath=/test/file][start=0][size=29403] HeadRequest(2150): [tpath=/test/file] insertV4Headers(1954): computing signature [HEAD] [/test/file] [] [] url_to_host(99): url is http://s3.amazonaws.com RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/file RequestPerform(1632): HTTP response code 200 PreGetObjectRequest(2423): [tpath=/test/file][start=0][size=29403] insertV4Headers(1954): computing signature [GET] [/test/file] [] [] url_to_host(99): url is http://s3.amazonaws.com GetObjectRequest(2508): downloading... [path=/test/file][fd=5] RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/file RequestPerform(1632): HTTP response code 206 s3fs_truncate(1862): [path=/test/file][size=8] HeadRequest(2150): [tpath=/test] insertV4Headers(1954): computing signature [HEAD] [/test] [] [] url_to_host(99): url is http://s3.amazonaws.com RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test RequestPerform(1632): HTTP response code 404 RequestPerform(1656): HTTP response code 404 was returned, returning ENOENT HeadRequest(2150): [tpath=/test/] insertV4Headers(1954): computing signature [HEAD] [/test/] [] [] url_to_host(99): url is http://s3.amazonaws.com RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/ RequestPerform(1632): HTTP response code 200 HeadRequest(2150): [tpath=/test/file] insertV4Headers(1954): computing signature [HEAD] [/test/file] [] [] url_to_host(99): url is http://s3.amazonaws.com RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/file RequestPerform(1632): HTTP response code 200 HeadRequest(2150): [tpath=/test/file] insertV4Headers(1954): computing signature [HEAD] [/test/file] [] [] url_to_host(99): url is http://s3.amazonaws.com RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/file RequestPerform(1632): HTTP response code 200 GetObjectRequest(2493): [tpath=/test/file][start=0][size=8] HeadRequest(2150): [tpath=/test/file] insertV4Headers(1954): computing signature [HEAD] [/test/file] [] [] url_to_host(99): url is http://s3.amazonaws.com RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/file RequestPerform(1632): HTTP response code 200 PreGetObjectRequest(2423): [tpath=/test/file][start=0][size=8] insertV4Headers(1954): computing signature [GET] [/test/file] [] [] url_to_host(99): url is http://s3.amazonaws.com GetObjectRequest(2508): downloading... [path=/test/file][fd=6] RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/file RequestPerform(1632): HTTP response code 206 PutRequest(2303): [tpath=/test/file] insertV4Headers(1954): computing signature [PUT] [/test/file] [] [bf0fd1555d0925e43141d17dc407d042db63af6620e3647f2328e752e0fb2509] url_to_host(99): url is http://s3.amazonaws.com PutRequest(2409): uploading... [path=/test/file][fd=6][size=8] RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/file RequestPerform(1632): HTTP response code 200 DelStat(370): delete stat cache entry[path=/test/file] s3fs_getattr(722): [path=/test/file] HeadRequest(2150): [tpath=/test] insertV4Headers(1954): computing signature [HEAD] [/test] [] [] url_to_host(99): url is http://s3.amazonaws.com RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test RequestPerform(1632): HTTP response code 404 RequestPerform(1656): HTTP response code 404 was returned, returning ENOENT HeadRequest(2150): [tpath=/test/] insertV4Headers(1954): computing signature [HEAD] [/test/] [] [] url_to_host(99): url is http://s3.amazonaws.com RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/ RequestPerform(1632): HTTP response code 200 HeadRequest(2150): [tpath=/test/file] insertV4Headers(1954): computing signature [HEAD] [/test/file] [] [] url_to_host(99): url is http://s3.amazonaws.com RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/file RequestPerform(1632): HTTP response code 200 s3fs_fsync(2063): [path=/test/file][fd=5] HeadRequest(2150): [tpath=/test/file] insertV4Headers(1954): computing signature [HEAD] [/test/file] [] [] url_to_host(99): url is http://s3.amazonaws.com RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/file RequestPerform(1632): HTTP response code 200 s3fs_flush(2018): [path=/test/file][fd=5] HeadRequest(2150): [tpath=/test] insertV4Headers(1954): computing signature [HEAD] [/test] [] [] url_to_host(99): url is http://s3.amazonaws.com RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test RequestPerform(1632): HTTP response code 404 RequestPerform(1656): HTTP response code 404 was returned, returning ENOENT HeadRequest(2150): [tpath=/test/] insertV4Headers(1954): computing signature [HEAD] [/test/] [] [] url_to_host(99): url is http://s3.amazonaws.com RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/ RequestPerform(1632): HTTP response code 200 HeadRequest(2150): [tpath=/test/file] insertV4Headers(1954): computing signature [HEAD] [/test/file] [] [] url_to_host(99): url is http://s3.amazonaws.com RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/file RequestPerform(1632): HTTP response code 200 HeadRequest(2150): [tpath=/test/file] insertV4Headers(1954): computing signature [HEAD] [/test/file] [] [] url_to_host(99): url is http://s3.amazonaws.com RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/file RequestPerform(1632): HTTP response code 200 s3fs_flush(2018): [path=/test/file][fd=5] HeadRequest(2150): [tpath=/test] insertV4Headers(1954): computing signature [HEAD] [/test] [] [] url_to_host(99): url is http://s3.amazonaws.com RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test RequestPerform(1632): HTTP response code 404 RequestPerform(1656): HTTP response code 404 was returned, returning ENOENT HeadRequest(2150): [tpath=/test/] insertV4Headers(1954): computing signature [HEAD] [/test/] [] [] url_to_host(99): url is http://s3.amazonaws.com RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/ RequestPerform(1632): HTTP response code 200 HeadRequest(2150): [tpath=/test/file] insertV4Headers(1954): computing signature [HEAD] [/test/file] [] [] url_to_host(99): url is http://s3.amazonaws.com RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/file RequestPerform(1632): HTTP response code 200 HeadRequest(2150): [tpath=/test/file] insertV4Headers(1954): computing signature [HEAD] [/test/file] [] [] url_to_host(99): url is http://s3.amazonaws.com RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/file RequestPerform(1632): HTTP response code 200 PutRequest(2303): [tpath=/test/file] insertV4Headers(1954): computing signature [PUT] [/test/file] [] [f85b1d9e86110106e177386abebf2ffc4c9fc20da141741ffdc5ee4eafb6a9f1] url_to_host(99): url is http://s3.amazonaws.com PutRequest(2409): uploading... [path=/test/file][fd=5][size=29403] RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/file RequestPerform(1632): HTTP response code 200 s3fs_flush(2018): [path=/test/file][fd=5] HeadRequest(2150): [tpath=/test] insertV4Headers(1954): computing signature [HEAD] [/test] [] [] url_to_host(99): url is http://s3.amazonaws.com RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test RequestPerform(1632): HTTP response code 404 RequestPerform(1656): HTTP response code 404 was returned, returning ENOENT HeadRequest(2150): [tpath=/test/] insertV4Headers(1954): computing signature [HEAD] [/test/] [] [] url_to_host(99): url is http://s3.amazonaws.com RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/ RequestPerform(1632): HTTP response code 200 HeadRequest(2150): [tpath=/test/file] insertV4Headers(1954): computing signature [HEAD] [/test/file] [] [] url_to_host(99): url is http://s3.amazonaws.com RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/file RequestPerform(1632): HTTP response code 200 HeadRequest(2150): [tpath=/test/file] insertV4Headers(1954): computing signature [HEAD] [/test/file] [] [] url_to_host(99): url is http://s3.amazonaws.com RequestPerform(1616): connecting to URL http://bucket.s3.amazonaws.com/test/file RequestPerform(1632): HTTP response code 200 s3fs_release(2090): [path=/test/file][fd=5] DelStat(370): delete stat cache entry[path=/test/file] s3fs_destroy(2756): destroy ``` The output of encfs (with "operation not supported" errors): ``` FUSE library version: 2.9.0 nullpath_ok: 0 nopath: 0 utime_omit_ok: 0 unique: 1, opcode: INIT (26), nodeid: 0, insize: 56, pid: 0 INIT: 7.17 flags=0x0000047b max_readahead=0x00020000 INIT: 7.18 flags=0x00000011 max_readahead=0x00020000 max_write=0x00020000 max_background=0 congestion_threshold=0 unique: 1, success, outsize: 40 [echo execution starts here] unique: 2, opcode: GETATTR (3), nodeid: 1, insize: 56, pid: 8739 getattr / unique: 2, success, outsize: 120 unique: 3, opcode: LOOKUP (1), nodeid: 1, insize: 45, pid: 8739 LOOKUP /test getattr /test NODEID: 2 unique: 3, success, outsize: 144 unique: 4, opcode: LOOKUP (1), nodeid: 2, insize: 45, pid: 8739 LOOKUP /test/file getattr /test/file NODEID: 3 unique: 4, success, outsize: 144 unique: 5, opcode: OPEN (14), nodeid: 3, insize: 48, pid: 8739 open flags: 0x8001 /test/file open[14826864] flags: 0x8001 /test/file unique: 5, success, outsize: 32 unique: 6, opcode: SETATTR (4), nodeid: 3, insize: 128, pid: 8739 truncate /test/file 0 getattr /test/file unique: 6, success, outsize: 120 unique: 7, opcode: FLUSH (25), nodeid: 3, insize: 64, pid: 8739 flush[14826864] unique: 7, success, outsize: 16 unique: 8, opcode: GETXATTR (22), nodeid: 3, insize: 68, pid: 8739 getxattr /test/file security.capability 0 unique: 8, error: -95 (Operation not supported), outsize: 16 unique: 9, opcode: WRITE (16), nodeid: 3, insize: 88, pid: 8739 write[14826864] 8 bytes to 0 flags: 0x8001 write[14826864] 8 bytes to 0 unique: 9, success, outsize: 24 unique: 10, opcode: FLUSH (25), nodeid: 3, insize: 64, pid: 8739 flush[14826864] unique: 10, success, outsize: 16 unique: 11, opcode: RELEASE (18), nodeid: 3, insize: 64, pid: 0 release[14826864] flags: 0x8001 unique: 11, success, outsize: 16 ``` If you want me to test something, just leave me a message.
kerem 2026-03-04 01:42:06 +03:00
Author
Owner

@gaul commented on GitHub (Apr 16, 2015):

s3fs does not support extended attributes that encfs needs -- we could add support via S3 user metadata.

<!-- gh-comment-id:93750429 --> @gaul commented on GitHub (Apr 16, 2015): s3fs does not support extended attributes that encfs needs -- we could add support via S3 user metadata.
Author
Owner

@delx commented on GitHub (Apr 16, 2015):

@andrewgaul: Would it be possible to implement dummy functions for the extended attributes in order to make encfs work?

<!-- gh-comment-id:93818868 --> @delx commented on GitHub (Apr 16, 2015): @andrewgaul: Would it be possible to implement dummy functions for the extended attributes in order to make encfs work?
Author
Owner

@ggtakec commented on GitHub (Apr 18, 2015):

@delx It is correct that @andrewgaul said.
The extended attributes caold be realized by s3fs supports setxattr, getxattr and listxattr of FUSE interface.
Probably, s3fs will make original HTTP header(example: "x-amz-meta-xatt") for each object which is set extended attributes.

<!-- gh-comment-id:94149305 --> @ggtakec commented on GitHub (Apr 18, 2015): @delx It is correct that @andrewgaul said. The extended attributes caold be realized by s3fs supports setxattr, getxattr and listxattr of FUSE interface. Probably, s3fs will make original HTTP header(example: "x-amz-meta-xatt") for each object which is set extended attributes.
Author
Owner

@ggtakec commented on GitHub (Apr 20, 2015):

I created new branch "xattr" which supported extended attributes FUSE api.
Please try to use and test xattr branch codes.

Thanks in advance for your assistance.

<!-- gh-comment-id:94516225 --> @ggtakec commented on GitHub (Apr 20, 2015): I created new branch "xattr" which supported extended attributes FUSE api. Please try to use and test xattr branch codes. Thanks in advance for your assistance.
Author
Owner

@delx commented on GitHub (Apr 20, 2015):

@ggtakec: I tested your new branch. The error can be reproduced exactly as above.

This time I used the following command:

echo test > file

The output of encfs (with -v flag) while executing the echo command:

unique: 95, opcode: GETATTR (3), nodeid: 1, insize: 56, pid: 31805
getattr /
22:20:54 (DirNode.cpp:770) created FileNode for /mnt/s3/
22:20:54 (encfs.cpp:134) getattr /mnt/s3/
   unique: 95, success, outsize: 120
unique: 96, opcode: LOOKUP (1), nodeid: 1, insize: 45, pid: 31805
LOOKUP /file
getattr /file
22:20:54 (DirNode.cpp:770) created FileNode for /mnt/s3/file
22:20:54 (encfs.cpp:134) getattr /mnt/s3/file
   NODEID: 20
   unique: 96, success, outsize: 144
unique: 97, opcode: OPEN (14), nodeid: 20, insize: 48, pid: 31805
open flags: 0x8001 /file
22:20:54 (DirNode.cpp:770) created FileNode for /mnt/s3/file
22:20:54 (RawFileIO.cpp:129) open call for writable file
22:20:54 (RawFileIO.cpp:151) open file with flags 2, result = 4
22:20:54 (encfs.cpp:573) encfs_open for /mnt/s3/file, flags 32769
   open[20818080] flags: 0x8001 /file
   unique: 97, success, outsize: 32
unique: 98, opcode: SETATTR (4), nodeid: 20, insize: 128, pid: 31805
truncate /file 0
22:20:54 (encfs.cpp:134) truncate /mnt/s3/file
22:20:54 (CipherFileIO.cpp:186) reading existing header, rawSize = 278667
22:20:54 (CipherFileIO.cpp:235) initHeader finished, fileIV = 4529361883866861497
getattr /file
22:20:54 (encfs.cpp:134) getattr /mnt/s3/file
   unique: 98, success, outsize: 120
unique: 99, opcode: FLUSH (25), nodeid: 20, insize: 64, pid: 31805
flush[20818080]
22:20:54 (encfs.cpp:134) flush /mnt/s3/file
22:20:54 (RawFileIO.cpp:129) open call for read only file
22:20:54 (RawFileIO.cpp:136) using existing file descriptor
   unique: 99, success, outsize: 16
unique: 100, opcode: GETXATTR (22), nodeid: 20, insize: 68, pid: 31805
getxattr /file security.capability 0
22:20:54 (encfs.cpp:92) getxattr /mnt/s3/file
22:20:54 (encfs.cpp:99) getxattr error: No data available
   unique: 100, error: -61 (No data available), outsize: 16
unique: 101, opcode: WRITE (16), nodeid: 20, insize: 85, pid: 31805
write[20818080] 5 bytes to 0 flags: 0x8001
22:20:54 (encfs.cpp:134) write /mnt/s3/file
22:20:54 (FileNode.cpp:259) FileNode::write offset 0, data size 5
   write[20818080] 5 bytes to 0
   unique: 101, success, outsize: 24
unique: 102, opcode: FLUSH (25), nodeid: 20, insize: 64, pid: 31805
flush[20818080]
22:20:54 (encfs.cpp:134) flush /mnt/s3/file
22:20:54 (RawFileIO.cpp:129) open call for read only file
22:20:54 (RawFileIO.cpp:136) using existing file descriptor
   unique: 102, success, outsize: 16
unique: 103, opcode: RELEASE (18), nodeid: 20, insize: 64, pid: 0
release[20818080] flags: 0x8001
   unique: 103, success, outsize: 16

The output of s3fs while executing the echo command:

s3fs_getattr(734): [path=/]
s3fs_getattr(734): [path=/file]
    HeadRequest(2157): [tpath=/file]
    insertV4Headers(1961): computing signature [HEAD] [/file] [] []
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 200
s3fs_open(1924): [path=/file][flags=32770]
    DelStat(370): delete stat cache entry[path=/file]
    HeadRequest(2157): [tpath=/file]
    insertV4Headers(1961): computing signature [HEAD] [/file] [] []
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 200
    GetObjectRequest(2500): [tpath=/file][start=0][size=278667]
    HeadRequest(2157): [tpath=/file]
    insertV4Headers(1961): computing signature [HEAD] [/file] [] []
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 200
    PreGetObjectRequest(2430): [tpath=/file][start=0][size=278667]
    insertV4Headers(1961): computing signature [GET] [/file] [] []
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    GetObjectRequest(2515): downloading... [path=/file][fd=5]
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 206
s3fs_truncate(1874): [path=/file][size=8]
    HeadRequest(2157): [tpath=/file]
    insertV4Headers(1961): computing signature [HEAD] [/file] [] []
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 200
    HeadRequest(2157): [tpath=/file]
    insertV4Headers(1961): computing signature [HEAD] [/file] [] []
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 200
    GetObjectRequest(2500): [tpath=/file][start=0][size=8]
    HeadRequest(2157): [tpath=/file]
    insertV4Headers(1961): computing signature [HEAD] [/file] [] []
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 200
    PreGetObjectRequest(2430): [tpath=/file][start=0][size=8]
    insertV4Headers(1961): computing signature [GET] [/file] [] []
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    GetObjectRequest(2515): downloading... [path=/file][fd=6]
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 206
    PutRequest(2310): [tpath=/file]
    insertV4Headers(1961): computing signature [PUT] [/file] [] [2e6c0a7d61a861f52305707609d20e0ca50f94ddc561585ce51fffb318009065]
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    PutRequest(2416): uploading... [path=/file][fd=6][size=8]
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 200
    DelStat(370): delete stat cache entry[path=/file]
s3fs_getattr(734): [path=/file]
    HeadRequest(2157): [tpath=/file]
    insertV4Headers(1961): computing signature [HEAD] [/file] [] []
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 200
s3fs_fsync(2075): [path=/file][fd=5]
    HeadRequest(2157): [tpath=/file]
    insertV4Headers(1961): computing signature [HEAD] [/file] [] []
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 200
s3fs_flush(2030): [path=/file][fd=5]
    HeadRequest(2157): [tpath=/file]
    insertV4Headers(1961): computing signature [HEAD] [/file] [] []
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 200
    HeadRequest(2157): [tpath=/file]
    insertV4Headers(1961): computing signature [HEAD] [/file] [] []
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 200
s3fs_getxattr(2903): [path=/file][name=security.capability][value=(nil)][size=0]
    HeadRequest(2157): [tpath=/file]
    insertV4Headers(1961): computing signature [HEAD] [/file] [] []
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 200
    HeadRequest(2157): [tpath=/file]
    insertV4Headers(1961): computing signature [HEAD] [/file] [] []
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 200
s3fs_getxattr(2903): [path=/file][name=security.capability][value=(nil)][size=0]
    HeadRequest(2157): [tpath=/file]
    insertV4Headers(1961): computing signature [HEAD] [/file] [] []
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 200
    HeadRequest(2157): [tpath=/file]
    insertV4Headers(1961): computing signature [HEAD] [/file] [] []
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 200
s3fs_flush(2030): [path=/file][fd=5]
    HeadRequest(2157): [tpath=/file]
    insertV4Headers(1961): computing signature [HEAD] [/file] [] []
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 200
    HeadRequest(2157): [tpath=/file]
    insertV4Headers(1961): computing signature [HEAD] [/file] [] []
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 200
    PutRequest(2310): [tpath=/file]
    insertV4Headers(1961): computing signature [PUT] [/file] [] [df69166699e2176e402dc890829f306f6f430b8f9eb11ae53983351ba5bbbcab]
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    PutRequest(2416): uploading... [path=/file][fd=5][size=278667]
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 200
s3fs_flush(2030): [path=/file][fd=5]
    HeadRequest(2157): [tpath=/file]
    insertV4Headers(1961): computing signature [HEAD] [/file] [] []
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 200
    HeadRequest(2157): [tpath=/file]
    insertV4Headers(1961): computing signature [HEAD] [/file] [] []
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 200
s3fs_release(2102): [path=/file][fd=5]
    DelStat(370): delete stat cache entry[path=/file]

Thank you very much in advance for your help!

<!-- gh-comment-id:94554369 --> @delx commented on GitHub (Apr 20, 2015): @ggtakec: I tested your new branch. The error can be reproduced exactly as above. This time I used the following command: ``` echo test > file ``` The output of encfs (with -v flag) while executing the echo command: ``` unique: 95, opcode: GETATTR (3), nodeid: 1, insize: 56, pid: 31805 getattr / 22:20:54 (DirNode.cpp:770) created FileNode for /mnt/s3/ 22:20:54 (encfs.cpp:134) getattr /mnt/s3/ unique: 95, success, outsize: 120 unique: 96, opcode: LOOKUP (1), nodeid: 1, insize: 45, pid: 31805 LOOKUP /file getattr /file 22:20:54 (DirNode.cpp:770) created FileNode for /mnt/s3/file 22:20:54 (encfs.cpp:134) getattr /mnt/s3/file NODEID: 20 unique: 96, success, outsize: 144 unique: 97, opcode: OPEN (14), nodeid: 20, insize: 48, pid: 31805 open flags: 0x8001 /file 22:20:54 (DirNode.cpp:770) created FileNode for /mnt/s3/file 22:20:54 (RawFileIO.cpp:129) open call for writable file 22:20:54 (RawFileIO.cpp:151) open file with flags 2, result = 4 22:20:54 (encfs.cpp:573) encfs_open for /mnt/s3/file, flags 32769 open[20818080] flags: 0x8001 /file unique: 97, success, outsize: 32 unique: 98, opcode: SETATTR (4), nodeid: 20, insize: 128, pid: 31805 truncate /file 0 22:20:54 (encfs.cpp:134) truncate /mnt/s3/file 22:20:54 (CipherFileIO.cpp:186) reading existing header, rawSize = 278667 22:20:54 (CipherFileIO.cpp:235) initHeader finished, fileIV = 4529361883866861497 getattr /file 22:20:54 (encfs.cpp:134) getattr /mnt/s3/file unique: 98, success, outsize: 120 unique: 99, opcode: FLUSH (25), nodeid: 20, insize: 64, pid: 31805 flush[20818080] 22:20:54 (encfs.cpp:134) flush /mnt/s3/file 22:20:54 (RawFileIO.cpp:129) open call for read only file 22:20:54 (RawFileIO.cpp:136) using existing file descriptor unique: 99, success, outsize: 16 unique: 100, opcode: GETXATTR (22), nodeid: 20, insize: 68, pid: 31805 getxattr /file security.capability 0 22:20:54 (encfs.cpp:92) getxattr /mnt/s3/file 22:20:54 (encfs.cpp:99) getxattr error: No data available unique: 100, error: -61 (No data available), outsize: 16 unique: 101, opcode: WRITE (16), nodeid: 20, insize: 85, pid: 31805 write[20818080] 5 bytes to 0 flags: 0x8001 22:20:54 (encfs.cpp:134) write /mnt/s3/file 22:20:54 (FileNode.cpp:259) FileNode::write offset 0, data size 5 write[20818080] 5 bytes to 0 unique: 101, success, outsize: 24 unique: 102, opcode: FLUSH (25), nodeid: 20, insize: 64, pid: 31805 flush[20818080] 22:20:54 (encfs.cpp:134) flush /mnt/s3/file 22:20:54 (RawFileIO.cpp:129) open call for read only file 22:20:54 (RawFileIO.cpp:136) using existing file descriptor unique: 102, success, outsize: 16 unique: 103, opcode: RELEASE (18), nodeid: 20, insize: 64, pid: 0 release[20818080] flags: 0x8001 unique: 103, success, outsize: 16 ``` The output of s3fs while executing the echo command: ``` s3fs_getattr(734): [path=/] s3fs_getattr(734): [path=/file] HeadRequest(2157): [tpath=/file] insertV4Headers(1961): computing signature [HEAD] [/file] [] [] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 200 s3fs_open(1924): [path=/file][flags=32770] DelStat(370): delete stat cache entry[path=/file] HeadRequest(2157): [tpath=/file] insertV4Headers(1961): computing signature [HEAD] [/file] [] [] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 200 GetObjectRequest(2500): [tpath=/file][start=0][size=278667] HeadRequest(2157): [tpath=/file] insertV4Headers(1961): computing signature [HEAD] [/file] [] [] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 200 PreGetObjectRequest(2430): [tpath=/file][start=0][size=278667] insertV4Headers(1961): computing signature [GET] [/file] [] [] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com GetObjectRequest(2515): downloading... [path=/file][fd=5] RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 206 s3fs_truncate(1874): [path=/file][size=8] HeadRequest(2157): [tpath=/file] insertV4Headers(1961): computing signature [HEAD] [/file] [] [] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 200 HeadRequest(2157): [tpath=/file] insertV4Headers(1961): computing signature [HEAD] [/file] [] [] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 200 GetObjectRequest(2500): [tpath=/file][start=0][size=8] HeadRequest(2157): [tpath=/file] insertV4Headers(1961): computing signature [HEAD] [/file] [] [] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 200 PreGetObjectRequest(2430): [tpath=/file][start=0][size=8] insertV4Headers(1961): computing signature [GET] [/file] [] [] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com GetObjectRequest(2515): downloading... [path=/file][fd=6] RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 206 PutRequest(2310): [tpath=/file] insertV4Headers(1961): computing signature [PUT] [/file] [] [2e6c0a7d61a861f52305707609d20e0ca50f94ddc561585ce51fffb318009065] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com PutRequest(2416): uploading... [path=/file][fd=6][size=8] RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 200 DelStat(370): delete stat cache entry[path=/file] s3fs_getattr(734): [path=/file] HeadRequest(2157): [tpath=/file] insertV4Headers(1961): computing signature [HEAD] [/file] [] [] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 200 s3fs_fsync(2075): [path=/file][fd=5] HeadRequest(2157): [tpath=/file] insertV4Headers(1961): computing signature [HEAD] [/file] [] [] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 200 s3fs_flush(2030): [path=/file][fd=5] HeadRequest(2157): [tpath=/file] insertV4Headers(1961): computing signature [HEAD] [/file] [] [] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 200 HeadRequest(2157): [tpath=/file] insertV4Headers(1961): computing signature [HEAD] [/file] [] [] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 200 s3fs_getxattr(2903): [path=/file][name=security.capability][value=(nil)][size=0] HeadRequest(2157): [tpath=/file] insertV4Headers(1961): computing signature [HEAD] [/file] [] [] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 200 HeadRequest(2157): [tpath=/file] insertV4Headers(1961): computing signature [HEAD] [/file] [] [] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 200 s3fs_getxattr(2903): [path=/file][name=security.capability][value=(nil)][size=0] HeadRequest(2157): [tpath=/file] insertV4Headers(1961): computing signature [HEAD] [/file] [] [] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 200 HeadRequest(2157): [tpath=/file] insertV4Headers(1961): computing signature [HEAD] [/file] [] [] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 200 s3fs_flush(2030): [path=/file][fd=5] HeadRequest(2157): [tpath=/file] insertV4Headers(1961): computing signature [HEAD] [/file] [] [] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 200 HeadRequest(2157): [tpath=/file] insertV4Headers(1961): computing signature [HEAD] [/file] [] [] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 200 PutRequest(2310): [tpath=/file] insertV4Headers(1961): computing signature [PUT] [/file] [] [df69166699e2176e402dc890829f306f6f430b8f9eb11ae53983351ba5bbbcab] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com PutRequest(2416): uploading... [path=/file][fd=5][size=278667] RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 200 s3fs_flush(2030): [path=/file][fd=5] HeadRequest(2157): [tpath=/file] insertV4Headers(1961): computing signature [HEAD] [/file] [] [] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 200 HeadRequest(2157): [tpath=/file] insertV4Headers(1961): computing signature [HEAD] [/file] [] [] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 200 s3fs_release(2102): [path=/file][fd=5] DelStat(370): delete stat cache entry[path=/file] ``` Thank you very much in advance for your help!
Author
Owner

@ggtakec commented on GitHub (Apr 21, 2015):

After I checked your log, it did not have log which was calling s3fs_setxattr function.
I was hoping that s3fs_setxattr function is called when s3fs made the file.
Because when I tested s3fs with attar and setfattr command, this function was called.
So s3fs_getxattr function was called, your fuse was compiled with HAVE_SETXATTR flag.
Thus I think fuse does not have a problem for this issue.

And I updated codes on xattr branch which are fixed some problem.
If you can, please try to check new codes(xattr branch).

Thanks in advance for your help.

<!-- gh-comment-id:94862562 --> @ggtakec commented on GitHub (Apr 21, 2015): After I checked your log, it did not have log which was calling s3fs_setxattr function. I was hoping that s3fs_setxattr function is called when s3fs made the file. Because when I tested s3fs with attar and setfattr command, this function was called. So s3fs_getxattr function was called, your fuse was compiled with HAVE_SETXATTR flag. Thus I think fuse does not have a problem for this issue. And I updated codes on xattr branch which are fixed some problem. If you can, please try to check new codes(xattr branch). Thanks in advance for your help.
Author
Owner

@delx commented on GitHub (Apr 21, 2015):

I tested your xattr branch with the latest commit aac92bd. The echo command still does not change the file. Here are the new logfiles:

s3fs

s3fs_getattr(734): [path=/]
s3fs_getattr(734): [path=/file]
    HeadRequest(2157): [tpath=/file]
    insertV4Headers(1961): computing signature [HEAD] [/file] [] []
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 200
s3fs_open(1924): [path=/file][flags=32770]
    DelStat(370): delete stat cache entry[path=/file]
    HeadRequest(2157): [tpath=/file]
    insertV4Headers(1961): computing signature [HEAD] [/file] [] []
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 200
    GetObjectRequest(2500): [tpath=/file][start=0][size=449523]
    HeadRequest(2157): [tpath=/file]
    insertV4Headers(1961): computing signature [HEAD] [/file] [] []
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 200
    PreGetObjectRequest(2430): [tpath=/file][start=0][size=449523]
    insertV4Headers(1961): computing signature [GET] [/file] [] []
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    GetObjectRequest(2515): downloading... [path=/file][fd=5]
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 206
s3fs_truncate(1874): [path=/file][size=8]
    HeadRequest(2157): [tpath=/file]
    insertV4Headers(1961): computing signature [HEAD] [/file] [] []
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 200
    HeadRequest(2157): [tpath=/file]
    insertV4Headers(1961): computing signature [HEAD] [/file] [] []
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 200
    GetObjectRequest(2500): [tpath=/file][start=0][size=8]
    HeadRequest(2157): [tpath=/file]
    insertV4Headers(1961): computing signature [HEAD] [/file] [] []
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 200
    PreGetObjectRequest(2430): [tpath=/file][start=0][size=8]
    insertV4Headers(1961): computing signature [GET] [/file] [] []
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    GetObjectRequest(2515): downloading... [path=/file][fd=6]
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 206
    PutRequest(2310): [tpath=/file]
    insertV4Headers(1961): computing signature [PUT] [/file] [] [778630ea381da6394ecafe17cf15b3ce7e2fccdc68f1721da79aa9f5ca427618]
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    PutRequest(2416): uploading... [path=/file][fd=6][size=8]
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 200
    DelStat(370): delete stat cache entry[path=/file]
s3fs_getattr(734): [path=/file]
    HeadRequest(2157): [tpath=/file]
    insertV4Headers(1961): computing signature [HEAD] [/file] [] []
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 200
s3fs_fsync(2075): [path=/file][fd=5]
    HeadRequest(2157): [tpath=/file]
    insertV4Headers(1961): computing signature [HEAD] [/file] [] []
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 200
s3fs_flush(2030): [path=/file][fd=5]
    HeadRequest(2157): [tpath=/file]
    insertV4Headers(1961): computing signature [HEAD] [/file] [] []
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 200
    HeadRequest(2157): [tpath=/file]
    insertV4Headers(1961): computing signature [HEAD] [/file] [] []
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 200
s3fs_getxattr(2903): [path=/file][name=security.capability][value=(nil)][size=0]
    HeadRequest(2157): [tpath=/file]
    insertV4Headers(1961): computing signature [HEAD] [/file] [] []
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 200
s3fs_getxattr(2903): [path=/file][name=security.capability][value=(nil)][size=0]
    HeadRequest(2157): [tpath=/file]
    insertV4Headers(1961): computing signature [HEAD] [/file] [] []
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 200
s3fs_flush(2030): [path=/file][fd=5]
    HeadRequest(2157): [tpath=/file]
    insertV4Headers(1961): computing signature [HEAD] [/file] [] []
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 200
    HeadRequest(2157): [tpath=/file]
    insertV4Headers(1961): computing signature [HEAD] [/file] [] []
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 200
    PutRequest(2310): [tpath=/file]
    insertV4Headers(1961): computing signature [PUT] [/file] [] [172f85dae551c8c03805bd1b3331247f9875d33677341570621c96f3d8d9b410]
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    PutRequest(2416): uploading... [path=/file][fd=5][size=449523]
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 200
s3fs_flush(2030): [path=/file][fd=5]
    HeadRequest(2157): [tpath=/file]
    insertV4Headers(1961): computing signature [HEAD] [/file] [] []
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 200
    HeadRequest(2157): [tpath=/file]
    insertV4Headers(1961): computing signature [HEAD] [/file] [] []
    url_to_host(99): url is http://s3-eu-central-1.amazonaws.com
    RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file
    RequestPerform(1636): HTTP response code 200
s3fs_release(2102): [path=/file][fd=5]
    DelStat(370): delete stat cache entry[path=/file]

encfs

unique: 114, opcode: GETATTR (3), nodeid: 1, insize: 56, pid: 29610
getattr /
18:47:23 (DirNode.cpp:770) created FileNode for /mnt/s3/
18:47:23 (encfs.cpp:134) getattr /mnt/s3/
   unique: 114, success, outsize: 120
unique: 115, opcode: LOOKUP (1), nodeid: 1, insize: 45, pid: 29610
LOOKUP /file
getattr /file
18:47:23 (DirNode.cpp:770) created FileNode for /mnt/s3/file
18:47:23 (encfs.cpp:134) getattr /mnt/s3/file
   NODEID: 19
   unique: 115, success, outsize: 144
unique: 116, opcode: OPEN (14), nodeid: 19, insize: 48, pid: 29610
open flags: 0x8001 /file
18:47:23 (DirNode.cpp:770) created FileNode for /mnt/s3/file
18:47:23 (RawFileIO.cpp:129) open call for writable file
18:47:23 (RawFileIO.cpp:151) open file with flags 2, result = 4
18:47:23 (encfs.cpp:573) encfs_open for /mnt/s3/file, flags 32769
   open[36009936] flags: 0x8001 /file
   unique: 116, success, outsize: 32
unique: 117, opcode: SETATTR (4), nodeid: 19, insize: 128, pid: 29610
truncate /file 0
18:47:23 (encfs.cpp:134) truncate /mnt/s3/file
18:47:23 (CipherFileIO.cpp:186) reading existing header, rawSize = 449523
18:47:23 (CipherFileIO.cpp:235) initHeader finished, fileIV = 13775018883561027914
getattr /file
18:47:23 (encfs.cpp:134) getattr /mnt/s3/file
   unique: 117, success, outsize: 120
unique: 118, opcode: FLUSH (25), nodeid: 19, insize: 64, pid: 29610
flush[36009936]
18:47:23 (encfs.cpp:134) flush /mnt/s3/file
18:47:23 (RawFileIO.cpp:129) open call for read only file
18:47:23 (RawFileIO.cpp:136) using existing file descriptor
   unique: 118, success, outsize: 16
unique: 119, opcode: GETXATTR (22), nodeid: 19, insize: 68, pid: 29610
getxattr /file security.capability 0
18:47:23 (encfs.cpp:92) getxattr /mnt/s3/file
18:47:23 (encfs.cpp:99) getxattr error: No data available
   unique: 119, error: -61 (No data available), outsize: 16
unique: 120, opcode: WRITE (16), nodeid: 19, insize: 85, pid: 29610
write[36009936] 5 bytes to 0 flags: 0x8001
18:47:23 (encfs.cpp:134) write /mnt/s3/file
18:47:23 (FileNode.cpp:259) FileNode::write offset 0, data size 5
   write[36009936] 5 bytes to 0
   unique: 120, success, outsize: 24
unique: 121, opcode: FLUSH (25), nodeid: 19, insize: 64, pid: 29610
flush[36009936]
18:47:23 (encfs.cpp:134) flush /mnt/s3/file
18:47:23 (RawFileIO.cpp:129) open call for read only file
18:47:23 (RawFileIO.cpp:136) using existing file descriptor
   unique: 121, success, outsize: 16
unique: 122, opcode: RELEASE (18), nodeid: 19, insize: 64, pid: 0
release[36009936] flags: 0x8001
   unique: 122, success, outsize: 16

Do you need assistance to reproduce the bug?
Or access to a server where the bug can be reproduced easily?
Just tell me if I can help in any way.

Thanks for your efforts.

<!-- gh-comment-id:94869076 --> @delx commented on GitHub (Apr 21, 2015): I tested your xattr branch with the latest commit aac92bd. The echo command still does not change the file. Here are the new logfiles: s3fs ``` s3fs_getattr(734): [path=/] s3fs_getattr(734): [path=/file] HeadRequest(2157): [tpath=/file] insertV4Headers(1961): computing signature [HEAD] [/file] [] [] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 200 s3fs_open(1924): [path=/file][flags=32770] DelStat(370): delete stat cache entry[path=/file] HeadRequest(2157): [tpath=/file] insertV4Headers(1961): computing signature [HEAD] [/file] [] [] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 200 GetObjectRequest(2500): [tpath=/file][start=0][size=449523] HeadRequest(2157): [tpath=/file] insertV4Headers(1961): computing signature [HEAD] [/file] [] [] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 200 PreGetObjectRequest(2430): [tpath=/file][start=0][size=449523] insertV4Headers(1961): computing signature [GET] [/file] [] [] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com GetObjectRequest(2515): downloading... [path=/file][fd=5] RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 206 s3fs_truncate(1874): [path=/file][size=8] HeadRequest(2157): [tpath=/file] insertV4Headers(1961): computing signature [HEAD] [/file] [] [] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 200 HeadRequest(2157): [tpath=/file] insertV4Headers(1961): computing signature [HEAD] [/file] [] [] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 200 GetObjectRequest(2500): [tpath=/file][start=0][size=8] HeadRequest(2157): [tpath=/file] insertV4Headers(1961): computing signature [HEAD] [/file] [] [] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 200 PreGetObjectRequest(2430): [tpath=/file][start=0][size=8] insertV4Headers(1961): computing signature [GET] [/file] [] [] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com GetObjectRequest(2515): downloading... [path=/file][fd=6] RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 206 PutRequest(2310): [tpath=/file] insertV4Headers(1961): computing signature [PUT] [/file] [] [778630ea381da6394ecafe17cf15b3ce7e2fccdc68f1721da79aa9f5ca427618] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com PutRequest(2416): uploading... [path=/file][fd=6][size=8] RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 200 DelStat(370): delete stat cache entry[path=/file] s3fs_getattr(734): [path=/file] HeadRequest(2157): [tpath=/file] insertV4Headers(1961): computing signature [HEAD] [/file] [] [] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 200 s3fs_fsync(2075): [path=/file][fd=5] HeadRequest(2157): [tpath=/file] insertV4Headers(1961): computing signature [HEAD] [/file] [] [] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 200 s3fs_flush(2030): [path=/file][fd=5] HeadRequest(2157): [tpath=/file] insertV4Headers(1961): computing signature [HEAD] [/file] [] [] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 200 HeadRequest(2157): [tpath=/file] insertV4Headers(1961): computing signature [HEAD] [/file] [] [] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 200 s3fs_getxattr(2903): [path=/file][name=security.capability][value=(nil)][size=0] HeadRequest(2157): [tpath=/file] insertV4Headers(1961): computing signature [HEAD] [/file] [] [] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 200 s3fs_getxattr(2903): [path=/file][name=security.capability][value=(nil)][size=0] HeadRequest(2157): [tpath=/file] insertV4Headers(1961): computing signature [HEAD] [/file] [] [] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 200 s3fs_flush(2030): [path=/file][fd=5] HeadRequest(2157): [tpath=/file] insertV4Headers(1961): computing signature [HEAD] [/file] [] [] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 200 HeadRequest(2157): [tpath=/file] insertV4Headers(1961): computing signature [HEAD] [/file] [] [] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 200 PutRequest(2310): [tpath=/file] insertV4Headers(1961): computing signature [PUT] [/file] [] [172f85dae551c8c03805bd1b3331247f9875d33677341570621c96f3d8d9b410] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com PutRequest(2416): uploading... [path=/file][fd=5][size=449523] RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 200 s3fs_flush(2030): [path=/file][fd=5] HeadRequest(2157): [tpath=/file] insertV4Headers(1961): computing signature [HEAD] [/file] [] [] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 200 HeadRequest(2157): [tpath=/file] insertV4Headers(1961): computing signature [HEAD] [/file] [] [] url_to_host(99): url is http://s3-eu-central-1.amazonaws.com RequestPerform(1619): connecting to URL http://bucket.s3-eu-central-1.amazonaws.com/file RequestPerform(1636): HTTP response code 200 s3fs_release(2102): [path=/file][fd=5] DelStat(370): delete stat cache entry[path=/file] ``` encfs ``` unique: 114, opcode: GETATTR (3), nodeid: 1, insize: 56, pid: 29610 getattr / 18:47:23 (DirNode.cpp:770) created FileNode for /mnt/s3/ 18:47:23 (encfs.cpp:134) getattr /mnt/s3/ unique: 114, success, outsize: 120 unique: 115, opcode: LOOKUP (1), nodeid: 1, insize: 45, pid: 29610 LOOKUP /file getattr /file 18:47:23 (DirNode.cpp:770) created FileNode for /mnt/s3/file 18:47:23 (encfs.cpp:134) getattr /mnt/s3/file NODEID: 19 unique: 115, success, outsize: 144 unique: 116, opcode: OPEN (14), nodeid: 19, insize: 48, pid: 29610 open flags: 0x8001 /file 18:47:23 (DirNode.cpp:770) created FileNode for /mnt/s3/file 18:47:23 (RawFileIO.cpp:129) open call for writable file 18:47:23 (RawFileIO.cpp:151) open file with flags 2, result = 4 18:47:23 (encfs.cpp:573) encfs_open for /mnt/s3/file, flags 32769 open[36009936] flags: 0x8001 /file unique: 116, success, outsize: 32 unique: 117, opcode: SETATTR (4), nodeid: 19, insize: 128, pid: 29610 truncate /file 0 18:47:23 (encfs.cpp:134) truncate /mnt/s3/file 18:47:23 (CipherFileIO.cpp:186) reading existing header, rawSize = 449523 18:47:23 (CipherFileIO.cpp:235) initHeader finished, fileIV = 13775018883561027914 getattr /file 18:47:23 (encfs.cpp:134) getattr /mnt/s3/file unique: 117, success, outsize: 120 unique: 118, opcode: FLUSH (25), nodeid: 19, insize: 64, pid: 29610 flush[36009936] 18:47:23 (encfs.cpp:134) flush /mnt/s3/file 18:47:23 (RawFileIO.cpp:129) open call for read only file 18:47:23 (RawFileIO.cpp:136) using existing file descriptor unique: 118, success, outsize: 16 unique: 119, opcode: GETXATTR (22), nodeid: 19, insize: 68, pid: 29610 getxattr /file security.capability 0 18:47:23 (encfs.cpp:92) getxattr /mnt/s3/file 18:47:23 (encfs.cpp:99) getxattr error: No data available unique: 119, error: -61 (No data available), outsize: 16 unique: 120, opcode: WRITE (16), nodeid: 19, insize: 85, pid: 29610 write[36009936] 5 bytes to 0 flags: 0x8001 18:47:23 (encfs.cpp:134) write /mnt/s3/file 18:47:23 (FileNode.cpp:259) FileNode::write offset 0, data size 5 write[36009936] 5 bytes to 0 unique: 120, success, outsize: 24 unique: 121, opcode: FLUSH (25), nodeid: 19, insize: 64, pid: 29610 flush[36009936] 18:47:23 (encfs.cpp:134) flush /mnt/s3/file 18:47:23 (RawFileIO.cpp:129) open call for read only file 18:47:23 (RawFileIO.cpp:136) using existing file descriptor unique: 121, success, outsize: 16 unique: 122, opcode: RELEASE (18), nodeid: 19, insize: 64, pid: 0 release[36009936] flags: 0x8001 unique: 122, success, outsize: 16 ``` Do you need assistance to reproduce the bug? Or access to a server where the bug can be reproduced easily? Just tell me if I can help in any way. Thanks for your efforts.
Author
Owner

@ggtakec commented on GitHub (Apr 28, 2015):

@delx I have not been solved this issue yet.
But s3fs puts following log by accessing from encfs:

s3fs_getxattr(2903): [path=/file][name=security.capability][value=(nil)][size=0]

So I think we should need to know who(how to) set this extended attribute for the object(file).
I keep to work for solving this issue, please wait a while.
(And please watch #166 too.)

<!-- gh-comment-id:97129003 --> @ggtakec commented on GitHub (Apr 28, 2015): @delx I have not been solved this issue yet. But s3fs puts following log by accessing from encfs: ``` s3fs_getxattr(2903): [path=/file][name=security.capability][value=(nil)][size=0] ``` So I think we should need to know who(how to) set this extended attribute for the object(file). I keep to work for solving this issue, please wait a while. (And please watch #166 too.)
Author
Owner

@ggtakec commented on GitHub (May 10, 2015):

@delx I'm sory for replying late.

I tried to reproduce this problem in the first step.
I have prepared the following environment(ubuntu on EC2).

  • ubuntu
$ uname -a
Linux ip-XXX-XX-XX-XXX 3.13.0-48-generic #80-Ubuntu SMP Thu Mar 12 11:16:15 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.2 LTS"
  • s3fs
    Use both master branch and xattr branch.
  • encfs
    version 1.7.4 installed by apt

Then I tried to check both master and xattr branch s3fs.
Following command for mounting.

# s3fs <my empty bcket> /mnt/s3 -o allow_other,max_stat_cache_size=0 -f -d &
# encfs -f -d --public --extpass="cat /etc/encfspw" /mnt/s3/ /mnt/enc/ &

Next, I done following.

$ echo CONTENT > /mnt/enc/test/myfile

$ ls -la /mnt/enc/test/myfile
-rw-r--r-- 1 ubuntu ubuntu 8 May 10 04:54 /mnt/enc/test/myfile

$ cat /mnt/enc/test/myfile
CONTENT

$ ls -la /mnt/s3/T9P1ppigtD1,J7wUu8fa3jKR/V57HIrvB6X9JuxAQcwDdlIhP
-rw-r--r-- 1 ubuntu ubuntu 16 May 10 04:54
/mnt/s3/T9P1ppigtD1,J7wUu8fa3jKR/V57HIrvB6X9JuxAQcwDdlIhP

$ cat /mnt/s3/T9P1ppigtD1,J7wUu8fa3jKR/V57HIrvB6X9JuxAQcwDdlIhP
??dYb?A1g??v??

Consequently, I think the cause of this problem is not that s3fs does not support the extended attribute interface.
At first, I was mistaken for the cause of this problem is it.
But in my latest environment(ubuntu), encfs + s3fs are operating without problems now.
I think that the cause of this problem is another factor, however I do not know the cause at the moment.

Regards,

<!-- gh-comment-id:100585897 --> @ggtakec commented on GitHub (May 10, 2015): @delx I'm sory for replying late. I tried to reproduce this problem in the first step. I have prepared the following environment(ubuntu on EC2). - ubuntu ``` $ uname -a Linux ip-XXX-XX-XX-XXX 3.13.0-48-generic #80-Ubuntu SMP Thu Mar 12 11:16:15 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux $ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.04 DISTRIB_CODENAME=trusty DISTRIB_DESCRIPTION="Ubuntu 14.04.2 LTS" ``` - s3fs Use both master branch and xattr branch. - encfs version 1.7.4 installed by apt Then I tried to check both master and xattr branch s3fs. Following command for mounting. ``` # s3fs <my empty bcket> /mnt/s3 -o allow_other,max_stat_cache_size=0 -f -d & # encfs -f -d --public --extpass="cat /etc/encfspw" /mnt/s3/ /mnt/enc/ & ``` Next, I done following. ``` $ echo CONTENT > /mnt/enc/test/myfile $ ls -la /mnt/enc/test/myfile -rw-r--r-- 1 ubuntu ubuntu 8 May 10 04:54 /mnt/enc/test/myfile $ cat /mnt/enc/test/myfile CONTENT $ ls -la /mnt/s3/T9P1ppigtD1,J7wUu8fa3jKR/V57HIrvB6X9JuxAQcwDdlIhP -rw-r--r-- 1 ubuntu ubuntu 16 May 10 04:54 /mnt/s3/T9P1ppigtD1,J7wUu8fa3jKR/V57HIrvB6X9JuxAQcwDdlIhP $ cat /mnt/s3/T9P1ppigtD1,J7wUu8fa3jKR/V57HIrvB6X9JuxAQcwDdlIhP ??dYb?A1g??v?? ``` Consequently, I think the cause of this problem is not that s3fs does not support the extended attribute interface. At first, I was mistaken for the cause of this problem is it. But in my latest environment(ubuntu), encfs + s3fs are operating without problems now. I think that the cause of this problem is another factor, however I do not know the cause at the moment. Regards,
Author
Owner

@ggtakec commented on GitHub (Jun 20, 2015):

#199 merged, master branch supports extended attributes.
I closed this issue, if you find a problem, please reopen this issue or post new issue.
Regards,

<!-- gh-comment-id:113699879 --> @ggtakec commented on GitHub (Jun 20, 2015): #199 merged, master branch supports extended attributes. I closed this issue, if you find a problem, please reopen this issue or post new issue. Regards,
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#99
No description provided.