[GH-ISSUE #2218] --nocopyapi is necessary when using SSE-C but copy api works fine without it #1127

Open
opened 2026-03-04 01:51:36 +03:00 by kerem · 2 comments
Owner

Originally created by @icassassin on GitHub (Jul 15, 2023).
Original GitHub issue: https://github.com/s3fs-fuse/s3fs-fuse/issues/2218

Additional Information

Version of s3fs being used (s3fs --version)

Amazon Simple Storage Service File System V1.92 (commit:2e51908) with OpenSSL

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

2.9.9

Kernel information (uname -r)

5.15.0-76-generic

GNU/Linux Distribution, if applicable (cat /etc/os-release)

Ubuntu 22.04.2 LTS

How to run s3fs, if applicable

[SERVER] /mnt/[SERVER] fuse.s3fs _netdev,allow_other,umask=0002,uid=1000,gid=1000,url=https://us-southeast-1.linodeobjects.com,passwd_file=/root/passwd-linode-s3fs,use_sse=custom:/root/.s3fs_key,bucket_size=100GiB,dbglevel=info 0 0

s3fs syslog messages (grep s3fs /var/log/syslog, journalctl | grep s3fs, or s3fs outputs)

Jul 14 18:47:54 [SERVER] s3fs[721]: [path=/test.txt]
Jul 14 18:47:54 [SERVER] s3fs[721]:       [tpath=/test.txt]
Jul 14 18:47:54 [SERVER] s3fs[721]:       [tpath=/test.txt][bpath=][save=][sseckeypos=18446744073709551615]
Jul 14 18:47:54 [SERVER] s3fs[721]:       URL is https://us-southeast-1.linodeobjects.com/[SERVER]/test.txt
Jul 14 18:47:54 [SERVER] s3fs[721]:       URL changed is https://[SERVER].us-southeast-1.linodeobjects.com/test.txt
Jul 14 18:47:54 [SERVER] s3fs[721]:       computing signature [HEAD] [/test.txt] [] []
Jul 14 18:47:54 [SERVER] s3fs[721]:       url is https://us-southeast-1.linodeobjects.com
Jul 14 18:47:55 [SERVER] s3fs[721]:       HTTP response code 404 was returned, returning ENOENT
Jul 14 18:47:55 [SERVER] s3fs[721]:       [tpath=/test.txt][bpath=][save=][sseckeypos=0]
Jul 14 18:47:55 [SERVER] s3fs[721]:       URL is https://us-southeast-1.linodeobjects.com/[SERVER]/test.txt
Jul 14 18:47:55 [SERVER] s3fs[721]:       URL changed is https://[SERVER].us-southeast-1.linodeobjects.com/test.txt
Jul 14 18:47:55 [SERVER] s3fs[721]:       computing signature [HEAD] [/test.txt] [] []
Jul 14 18:47:55 [SERVER] s3fs[721]:       url is https://us-southeast-1.linodeobjects.com
Jul 14 18:47:55 [SERVER] s3fs[721]:       HTTP response code 404 was returned, returning ENOENT
Jul 14 18:47:55 [SERVER] s3fs[721]:       [tpath=/test.txt/]
Jul 14 18:47:55 [SERVER] s3fs[721]:       [tpath=/test.txt/][bpath=][save=][sseckeypos=18446744073709551615]
Jul 14 18:47:55 [SERVER] s3fs[721]:       URL is https://us-southeast-1.linodeobjects.com/[SERVER]/test.txt/
Jul 14 18:47:55 [SERVER] s3fs[721]:       URL changed is https://[SERVER].us-southeast-1.linodeobjects.com/test.txt/
Jul 14 18:47:55 [SERVER] s3fs[721]:       computing signature [HEAD] [/test.txt/] [] []
Jul 14 18:47:55 [SERVER] s3fs[721]:       url is https://us-southeast-1.linodeobjects.com
Jul 14 18:47:55 [SERVER] s3fs[721]:       HTTP response code 404 was returned, returning ENOENT
Jul 14 18:47:55 [SERVER] s3fs[721]:       [tpath=/test.txt/][bpath=][save=][sseckeypos=0]
Jul 14 18:47:55 [SERVER] s3fs[721]:       URL is https://us-southeast-1.linodeobjects.com/[SERVER]/test.txt/
Jul 14 18:47:55 [SERVER] s3fs[721]:       URL changed is https://[SERVER].us-southeast-1.linodeobjects.com/test.txt/
Jul 14 18:47:55 [SERVER] s3fs[721]:       computing signature [HEAD] [/test.txt/] [] []
Jul 14 18:47:55 [SERVER] s3fs[721]:       url is https://us-southeast-1.linodeobjects.com
Jul 14 18:47:55 [SERVER] s3fs[721]:       HTTP response code 404 was returned, returning ENOENT
Jul 14 18:47:55 [SERVER] s3fs[721]:   [path=/test.txt]
Jul 14 18:47:55 [SERVER] s3fs[721]:       [tpath=/test.txt]
Jul 14 18:47:55 [SERVER] s3fs[721]:       URL is https://us-southeast-1.linodeobjects.com/[SERVER]?delimiter=/&max-keys=2&prefix=test.txt/
Jul 14 18:47:55 [SERVER] s3fs[721]:       URL changed is https://[SERVER].us-southeast-1.linodeobjects.com?delimiter=/&max-keys=2&prefix=test.txt/
Jul 14 18:47:55 [SERVER] s3fs[721]:       computing signature [GET] [/] [delimiter=/&max-keys=2&prefix=test.txt/] []
Jul 14 18:47:55 [SERVER] s3fs[721]:       url is https://us-southeast-1.linodeobjects.com
Jul 14 18:47:55 [SERVER] s3fs[721]:       HTTP response code 200
Jul 14 18:47:55 [SERVER] s3fs[721]:       add no object cache entry[path=/test.txt]
Jul 14 18:47:55 [SERVER] s3fs[721]: [path=/test.txt][mode=100644][flags=0x8841]
Jul 14 18:47:55 [SERVER] s3fs[721]:       add stat cache entry[path=/test.txt]
Jul 14 18:47:55 [SERVER] s3fs[721]:       delete stat cache entry[path=/test.txt]
Jul 14 18:47:55 [SERVER] s3fs[721]: [path=/test.txt]
Jul 14 18:47:55 [SERVER] s3fs[721]: [path=/test.txt][pseudo_fd=2]
Jul 14 18:47:55 [SERVER] s3fs[721]:       [tpath=][path=/test.txt][pseudo_fd=2][physical_fd=8]
Jul 14 18:47:55 [SERVER] s3fs[721]:       [tpath=][path=/test.txt][pseudo_fd=2][physical_fd=8]
Jul 14 18:47:55 [SERVER] s3fs[721]:       [tpath=/test.txt]
Jul 14 18:47:55 [SERVER] s3fs[721]:       URL is https://us-southeast-1.linodeobjects.com/[SERVER]/test.txt
Jul 14 18:47:55 [SERVER] s3fs[721]:       URL changed is https://[SERVER].us-southeast-1.linodeobjects.com/test.txt
Jul 14 18:47:55 [SERVER] s3fs[721]:       uploading... [path=/test.txt][fd=8][size=0]
Jul 14 18:47:55 [SERVER] s3fs[721]:       computing signature [PUT] [/test.txt] [] [e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855]
Jul 14 18:47:55 [SERVER] s3fs[721]:       url is https://us-southeast-1.linodeobjects.com
Jul 14 18:47:55 [SERVER] s3fs[721]:       HTTP response code 200
Jul 14 18:47:55 [SERVER] s3fs[721]:       delete stat cache entry[path=/test.txt]
Jul 14 18:47:55 [SERVER] s3fs[721]: [path=/test.txt][mtime=0.1073741823][ctime/atime=0.1073741823]
Jul 14 18:47:55 [SERVER] s3fs[721]:       [tpath=/test.txt]
Jul 14 18:47:55 [SERVER] s3fs[721]:       [tpath=/test.txt][bpath=][save=][sseckeypos=18446744073709551615]
Jul 14 18:47:55 [SERVER] s3fs[721]:       URL is https://us-southeast-1.linodeobjects.com/[SERVER]/test.txt
Jul 14 18:47:55 [SERVER] s3fs[721]:       URL changed is https://[SERVER].us-southeast-1.linodeobjects.com/test.txt
Jul 14 18:47:55 [SERVER] s3fs[721]:       computing signature [HEAD] [/test.txt] [] []
Jul 14 18:47:55 [SERVER] s3fs[721]:       url is https://us-southeast-1.linodeobjects.com
Jul 14 18:47:55 [SERVER] s3fs[721]: curl.cpp:RequestPerform(2558): HEAD HTTP response code 400, returning EPERM.
Jul 14 18:47:55 [SERVER] s3fs[721]:       [tpath=/test.txt][bpath=][save=][sseckeypos=0]
Jul 14 18:47:55 [SERVER] s3fs[721]:       URL is https://us-southeast-1.linodeobjects.com/[SERVER]/test.txt
Jul 14 18:47:55 [SERVER] s3fs[721]:       URL changed is https://[SERVER].us-southeast-1.linodeobjects.com/test.txt
Jul 14 18:47:55 [SERVER] s3fs[721]:       computing signature [HEAD] [/test.txt] [] []
Jul 14 18:47:55 [SERVER] s3fs[721]:       url is https://us-southeast-1.linodeobjects.com
Jul 14 18:47:55 [SERVER] s3fs[721]:       HTTP response code 200
Jul 14 18:47:55 [SERVER] s3fs[721]:       add stat cache entry[path=/test.txt]
Jul 14 18:47:55 [SERVER] s3fs[721]:       [path=/test.txt][physical_fd=8][mtime=1689392875.544910052][ctime=1689392875.544910052]
Jul 14 18:47:55 [SERVER] s3fs[721]:       [path=/test.txt][physical_fd=8][time=1689392875.544910052]
Jul 14 18:47:55 [SERVER] s3fs[721]: meta is not pending, but need to keep current mtime.
Jul 14 18:47:55 [SERVER] s3fs[721]:     [path=/test.txt]
Jul 14 18:47:55 [SERVER] s3fs[721]:       [tpath=/test.txt]
Jul 14 18:47:55 [SERVER] s3fs[721]:       URL is https://us-southeast-1.linodeobjects.com/[SERVER]/test.txt
Jul 14 18:47:55 [SERVER] s3fs[721]:       URL changed is https://[SERVER].us-southeast-1.linodeobjects.com/test.txt
Jul 14 18:47:55 [SERVER] s3fs[721]:       copying... [path=/test.txt]
Jul 14 18:47:55 [SERVER] s3fs[721]:       computing signature [PUT] [/test.txt] [] []
Jul 14 18:47:55 [SERVER] s3fs[721]:       url is https://us-southeast-1.linodeobjects.com
Jul 14 18:47:55 [SERVER] s3fs[721]:       HTTP response code 501 was returned, returning ENOTSUP
Jul 14 18:47:55 [SERVER] s3fs[721]: [path=/test.txt][pseudo_fd=2]
Jul 14 18:47:55 [SERVER] s3fs[721]:       [tpath=][path=/test.txt][pseudo_fd=2][physical_fd=8]
Jul 14 18:47:55 [SERVER] s3fs[721]:       delete stat cache entry[path=/test.txt]
Jul 14 18:47:55 [SERVER] s3fs[721]: [path=/test.txt][pseudo_fd=2]
Jul 14 18:47:55 [SERVER] s3fs[721]:       [path=/test.txt][pseudo_fd=2]
Jul 14 18:47:55 [SERVER] s3fs[721]:       delete stat cache entry[path=/test.txt]

Details about issue

Operations such as 'mv' or 'touch' fail with "Operation not supported" if I mount my bucket with a custom SSE key. Mounting to the same bucket without (either with "use_sse=1" or without SSE) it does not have this issue. I think this has been a thing since around v1.90 but I hadn't noticed because I had just assumed --nocopyapi was needed with my host but it doesn't seem like that should be the case.

Originally created by @icassassin on GitHub (Jul 15, 2023). Original GitHub issue: https://github.com/s3fs-fuse/s3fs-fuse/issues/2218 ### Additional Information #### Version of s3fs being used (`s3fs --version`) Amazon Simple Storage Service File System V1.92 (commit:2e51908) with OpenSSL #### Version of fuse being used (`pkg-config --modversion fuse`, `rpm -qi fuse` or `dpkg -s fuse`) 2.9.9 #### Kernel information (`uname -r`) 5.15.0-76-generic #### GNU/Linux Distribution, if applicable (`cat /etc/os-release`) Ubuntu 22.04.2 LTS #### How to run s3fs, if applicable ``` [SERVER] /mnt/[SERVER] fuse.s3fs _netdev,allow_other,umask=0002,uid=1000,gid=1000,url=https://us-southeast-1.linodeobjects.com,passwd_file=/root/passwd-linode-s3fs,use_sse=custom:/root/.s3fs_key,bucket_size=100GiB,dbglevel=info 0 0 ``` #### s3fs syslog messages (`grep s3fs /var/log/syslog`, `journalctl | grep s3fs`, or `s3fs outputs`) <!-- if you execute s3fs with dbglevel, curldbg option, you can get detail debug messages. --> ``` Jul 14 18:47:54 [SERVER] s3fs[721]: [path=/test.txt] Jul 14 18:47:54 [SERVER] s3fs[721]: [tpath=/test.txt] Jul 14 18:47:54 [SERVER] s3fs[721]: [tpath=/test.txt][bpath=][save=][sseckeypos=18446744073709551615] Jul 14 18:47:54 [SERVER] s3fs[721]: URL is https://us-southeast-1.linodeobjects.com/[SERVER]/test.txt Jul 14 18:47:54 [SERVER] s3fs[721]: URL changed is https://[SERVER].us-southeast-1.linodeobjects.com/test.txt Jul 14 18:47:54 [SERVER] s3fs[721]: computing signature [HEAD] [/test.txt] [] [] Jul 14 18:47:54 [SERVER] s3fs[721]: url is https://us-southeast-1.linodeobjects.com Jul 14 18:47:55 [SERVER] s3fs[721]: HTTP response code 404 was returned, returning ENOENT Jul 14 18:47:55 [SERVER] s3fs[721]: [tpath=/test.txt][bpath=][save=][sseckeypos=0] Jul 14 18:47:55 [SERVER] s3fs[721]: URL is https://us-southeast-1.linodeobjects.com/[SERVER]/test.txt Jul 14 18:47:55 [SERVER] s3fs[721]: URL changed is https://[SERVER].us-southeast-1.linodeobjects.com/test.txt Jul 14 18:47:55 [SERVER] s3fs[721]: computing signature [HEAD] [/test.txt] [] [] Jul 14 18:47:55 [SERVER] s3fs[721]: url is https://us-southeast-1.linodeobjects.com Jul 14 18:47:55 [SERVER] s3fs[721]: HTTP response code 404 was returned, returning ENOENT Jul 14 18:47:55 [SERVER] s3fs[721]: [tpath=/test.txt/] Jul 14 18:47:55 [SERVER] s3fs[721]: [tpath=/test.txt/][bpath=][save=][sseckeypos=18446744073709551615] Jul 14 18:47:55 [SERVER] s3fs[721]: URL is https://us-southeast-1.linodeobjects.com/[SERVER]/test.txt/ Jul 14 18:47:55 [SERVER] s3fs[721]: URL changed is https://[SERVER].us-southeast-1.linodeobjects.com/test.txt/ Jul 14 18:47:55 [SERVER] s3fs[721]: computing signature [HEAD] [/test.txt/] [] [] Jul 14 18:47:55 [SERVER] s3fs[721]: url is https://us-southeast-1.linodeobjects.com Jul 14 18:47:55 [SERVER] s3fs[721]: HTTP response code 404 was returned, returning ENOENT Jul 14 18:47:55 [SERVER] s3fs[721]: [tpath=/test.txt/][bpath=][save=][sseckeypos=0] Jul 14 18:47:55 [SERVER] s3fs[721]: URL is https://us-southeast-1.linodeobjects.com/[SERVER]/test.txt/ Jul 14 18:47:55 [SERVER] s3fs[721]: URL changed is https://[SERVER].us-southeast-1.linodeobjects.com/test.txt/ Jul 14 18:47:55 [SERVER] s3fs[721]: computing signature [HEAD] [/test.txt/] [] [] Jul 14 18:47:55 [SERVER] s3fs[721]: url is https://us-southeast-1.linodeobjects.com Jul 14 18:47:55 [SERVER] s3fs[721]: HTTP response code 404 was returned, returning ENOENT Jul 14 18:47:55 [SERVER] s3fs[721]: [path=/test.txt] Jul 14 18:47:55 [SERVER] s3fs[721]: [tpath=/test.txt] Jul 14 18:47:55 [SERVER] s3fs[721]: URL is https://us-southeast-1.linodeobjects.com/[SERVER]?delimiter=/&max-keys=2&prefix=test.txt/ Jul 14 18:47:55 [SERVER] s3fs[721]: URL changed is https://[SERVER].us-southeast-1.linodeobjects.com?delimiter=/&max-keys=2&prefix=test.txt/ Jul 14 18:47:55 [SERVER] s3fs[721]: computing signature [GET] [/] [delimiter=/&max-keys=2&prefix=test.txt/] [] Jul 14 18:47:55 [SERVER] s3fs[721]: url is https://us-southeast-1.linodeobjects.com Jul 14 18:47:55 [SERVER] s3fs[721]: HTTP response code 200 Jul 14 18:47:55 [SERVER] s3fs[721]: add no object cache entry[path=/test.txt] Jul 14 18:47:55 [SERVER] s3fs[721]: [path=/test.txt][mode=100644][flags=0x8841] Jul 14 18:47:55 [SERVER] s3fs[721]: add stat cache entry[path=/test.txt] Jul 14 18:47:55 [SERVER] s3fs[721]: delete stat cache entry[path=/test.txt] Jul 14 18:47:55 [SERVER] s3fs[721]: [path=/test.txt] Jul 14 18:47:55 [SERVER] s3fs[721]: [path=/test.txt][pseudo_fd=2] Jul 14 18:47:55 [SERVER] s3fs[721]: [tpath=][path=/test.txt][pseudo_fd=2][physical_fd=8] Jul 14 18:47:55 [SERVER] s3fs[721]: [tpath=][path=/test.txt][pseudo_fd=2][physical_fd=8] Jul 14 18:47:55 [SERVER] s3fs[721]: [tpath=/test.txt] Jul 14 18:47:55 [SERVER] s3fs[721]: URL is https://us-southeast-1.linodeobjects.com/[SERVER]/test.txt Jul 14 18:47:55 [SERVER] s3fs[721]: URL changed is https://[SERVER].us-southeast-1.linodeobjects.com/test.txt Jul 14 18:47:55 [SERVER] s3fs[721]: uploading... [path=/test.txt][fd=8][size=0] Jul 14 18:47:55 [SERVER] s3fs[721]: computing signature [PUT] [/test.txt] [] [e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855] Jul 14 18:47:55 [SERVER] s3fs[721]: url is https://us-southeast-1.linodeobjects.com Jul 14 18:47:55 [SERVER] s3fs[721]: HTTP response code 200 Jul 14 18:47:55 [SERVER] s3fs[721]: delete stat cache entry[path=/test.txt] Jul 14 18:47:55 [SERVER] s3fs[721]: [path=/test.txt][mtime=0.1073741823][ctime/atime=0.1073741823] Jul 14 18:47:55 [SERVER] s3fs[721]: [tpath=/test.txt] Jul 14 18:47:55 [SERVER] s3fs[721]: [tpath=/test.txt][bpath=][save=][sseckeypos=18446744073709551615] Jul 14 18:47:55 [SERVER] s3fs[721]: URL is https://us-southeast-1.linodeobjects.com/[SERVER]/test.txt Jul 14 18:47:55 [SERVER] s3fs[721]: URL changed is https://[SERVER].us-southeast-1.linodeobjects.com/test.txt Jul 14 18:47:55 [SERVER] s3fs[721]: computing signature [HEAD] [/test.txt] [] [] Jul 14 18:47:55 [SERVER] s3fs[721]: url is https://us-southeast-1.linodeobjects.com Jul 14 18:47:55 [SERVER] s3fs[721]: curl.cpp:RequestPerform(2558): HEAD HTTP response code 400, returning EPERM. Jul 14 18:47:55 [SERVER] s3fs[721]: [tpath=/test.txt][bpath=][save=][sseckeypos=0] Jul 14 18:47:55 [SERVER] s3fs[721]: URL is https://us-southeast-1.linodeobjects.com/[SERVER]/test.txt Jul 14 18:47:55 [SERVER] s3fs[721]: URL changed is https://[SERVER].us-southeast-1.linodeobjects.com/test.txt Jul 14 18:47:55 [SERVER] s3fs[721]: computing signature [HEAD] [/test.txt] [] [] Jul 14 18:47:55 [SERVER] s3fs[721]: url is https://us-southeast-1.linodeobjects.com Jul 14 18:47:55 [SERVER] s3fs[721]: HTTP response code 200 Jul 14 18:47:55 [SERVER] s3fs[721]: add stat cache entry[path=/test.txt] Jul 14 18:47:55 [SERVER] s3fs[721]: [path=/test.txt][physical_fd=8][mtime=1689392875.544910052][ctime=1689392875.544910052] Jul 14 18:47:55 [SERVER] s3fs[721]: [path=/test.txt][physical_fd=8][time=1689392875.544910052] Jul 14 18:47:55 [SERVER] s3fs[721]: meta is not pending, but need to keep current mtime. Jul 14 18:47:55 [SERVER] s3fs[721]: [path=/test.txt] Jul 14 18:47:55 [SERVER] s3fs[721]: [tpath=/test.txt] Jul 14 18:47:55 [SERVER] s3fs[721]: URL is https://us-southeast-1.linodeobjects.com/[SERVER]/test.txt Jul 14 18:47:55 [SERVER] s3fs[721]: URL changed is https://[SERVER].us-southeast-1.linodeobjects.com/test.txt Jul 14 18:47:55 [SERVER] s3fs[721]: copying... [path=/test.txt] Jul 14 18:47:55 [SERVER] s3fs[721]: computing signature [PUT] [/test.txt] [] [] Jul 14 18:47:55 [SERVER] s3fs[721]: url is https://us-southeast-1.linodeobjects.com Jul 14 18:47:55 [SERVER] s3fs[721]: HTTP response code 501 was returned, returning ENOTSUP Jul 14 18:47:55 [SERVER] s3fs[721]: [path=/test.txt][pseudo_fd=2] Jul 14 18:47:55 [SERVER] s3fs[721]: [tpath=][path=/test.txt][pseudo_fd=2][physical_fd=8] Jul 14 18:47:55 [SERVER] s3fs[721]: delete stat cache entry[path=/test.txt] Jul 14 18:47:55 [SERVER] s3fs[721]: [path=/test.txt][pseudo_fd=2] Jul 14 18:47:55 [SERVER] s3fs[721]: [path=/test.txt][pseudo_fd=2] Jul 14 18:47:55 [SERVER] s3fs[721]: delete stat cache entry[path=/test.txt] ``` ### Details about issue Operations such as 'mv' or 'touch' fail with "Operation not supported" if I mount my bucket with a custom SSE key. Mounting to the same bucket without (either with "use_sse=1" or without SSE) it does not have this issue. I think this has been a thing since around v1.90 but I hadn't noticed because I had just assumed --nocopyapi was needed with my host but it doesn't seem like that should be the case.
Author
Owner

@gaul commented on GitHub (Jul 24, 2023):

@icassassin I addressed some other SSE problem in #2228 but it seems like something is still broken with MPU copies in your setup. Please provide more details if you can, e.g., which kind of S3 server. It might also help if you can reproduce these symptoms with another S3 implementation, e.g., minio. s3fs should support minio which I am experimenting with in #2227 but this needs more work. The absolute best thing would be if you can add a new test to the integration tests which shows the same symptom.

<!-- gh-comment-id:1647166478 --> @gaul commented on GitHub (Jul 24, 2023): @icassassin I addressed some other SSE problem in #2228 but it seems like something is still broken with MPU copies in your setup. Please provide more details if you can, e.g., which kind of S3 server. It might also help if you can reproduce these symptoms with another S3 implementation, e.g., minio. s3fs should support minio which I am experimenting with in #2227 but this needs more work. The absolute best thing would be if you can add a new test to the integration tests which shows the same symptom.
Author
Owner

@icassassin commented on GitHub (Jul 25, 2023):

@icassassin I addressed some other SSE problem in #2228 but it seems like something is still broken with MPU copies in your setup. Please provide more details if you can, e.g., which kind of S3 server. It might also help if you can reproduce these symptoms with another S3 implementation, e.g., minio. s3fs should support minio which I am experimenting with in #2227 but this needs more work. The absolute best thing would be if you can add a new test to the integration tests which shows the same symptom.

By MPU do you mean multi-part upload?

Multi-part uploads seem to work fine, near as I can tell. I just copied over a 100MB file and a 230MB using 'cp' and they copied just fine. My understanding is that the default chunk size for multipart uploads is 10MB and syslog output seems to confirm it.

Tail end of the upload of the 230MB file.

Jul 24 15:58:34 [SERVER] s3fs[14873]:       url is https://us-southeast-1.linodeobjects.com
Jul 24 15:58:43 [SERVER] s3fs[14873]:       HTTP response code 200
Jul 24 15:58:43 [SERVER] s3fs[14873]:       computing signature [PUT] [/[FILE.ISO]] [partNumber=22&uploadId=2~4fpM0JxUAL3LWezyvXUdE-V8OtegrbT] [f0e35b89043db5d379666389699307d643bac27d2671dcdbf2e491de8d218dcc]
Jul 24 15:58:43 [SERVER] s3fs[14873]:       url is https://us-southeast-1.linodeobjects.com
Jul 24 15:58:46 [SERVER] s3fs[14873]:       HTTP response code 200
Jul 24 15:59:14 [SERVER] s3fs[14873]: message repeated 4 times: [       HTTP response code 200]
Jul 24 15:59:14 [SERVER] s3fs[14873]:       [tpath=/[FILE.ISO]][parts=22]
Jul 24 15:59:14 [SERVER] s3fs[14873]:       URL is https://us-southeast-1.linodeobjects.com/[SERVER]-2/ReBirth%20RB-338.iso?uploadId=2~4fpM0JxUAL3LWezyvXUdE-V8OtegrbT
Jul 24 15:59:14 [SERVER] s3fs[14873]:       URL changed is https://[SERVER]-2.us-southeast-1.linodeobjects.com/[ESCAPEDFILE.ISO]?uploadId=2~4fpM0JxUAL3LWezyvXUdE-V8OtegrbT
Jul 24 15:59:14 [SERVER] s3fs[14873]:       computing signature [POST] [/[FILE.ISO]] [uploadId=2~4fpM0JxUAL3LWezyvXUdE-V8OtegrbT] [ad052c2c03b39fd8b7ee959e91792ef6ba5e59d7128cf173bdf7d00e84cb2093]
Jul 24 15:59:14 [SERVER] s3fs[14873]:       url is https://us-southeast-1.linodeobjects.com
Jul 24 15:59:14 [SERVER] s3fs[14873]:       HTTP response code 200
Jul 24 15:59:14 [SERVER] s3fs[14873]:       delete stat cache entry[path=/[FILE.ISO]]
Jul 24 15:59:14 [SERVER] s3fs[14873]: [path=/[FILE.ISO]][pseudo_fd=2]
Jul 24 15:59:14 [SERVER] s3fs[14873]:       [path=/[FILE.ISO]][pseudo_fd=2]
Jul 24 15:59:14 [SERVER] s3fs[14873]:       delete stat cache entry[path=/[FILE.ISO]]

After copying those files, I tried the 'touch test.txt' 'mv test.txt asdf.txt' test and got the same results (Operation not permitted, moving not working, etc.).

Am I misunderstanding the MPU part?

For clarification, this is with sse-c and having copy api enabled (that is, the --nocopyapi flag is not passed as an option).

<!-- gh-comment-id:1648817223 --> @icassassin commented on GitHub (Jul 25, 2023): > @icassassin I addressed some other SSE problem in #2228 but it seems like something is still broken with MPU copies in your setup. Please provide more details if you can, e.g., which kind of S3 server. It might also help if you can reproduce these symptoms with another S3 implementation, e.g., minio. s3fs should support minio which I am experimenting with in #2227 but this needs more work. The absolute best thing would be if you can add a new test to the integration tests which shows the same symptom. By MPU do you mean multi-part upload? Multi-part uploads seem to work fine, near as I can tell. I just copied over a 100MB file and a 230MB using 'cp' and they copied just fine. My understanding is that the default chunk size for multipart uploads is 10MB and syslog output seems to confirm it. Tail end of the upload of the 230MB file. ``` Jul 24 15:58:34 [SERVER] s3fs[14873]: url is https://us-southeast-1.linodeobjects.com Jul 24 15:58:43 [SERVER] s3fs[14873]: HTTP response code 200 Jul 24 15:58:43 [SERVER] s3fs[14873]: computing signature [PUT] [/[FILE.ISO]] [partNumber=22&uploadId=2~4fpM0JxUAL3LWezyvXUdE-V8OtegrbT] [f0e35b89043db5d379666389699307d643bac27d2671dcdbf2e491de8d218dcc] Jul 24 15:58:43 [SERVER] s3fs[14873]: url is https://us-southeast-1.linodeobjects.com Jul 24 15:58:46 [SERVER] s3fs[14873]: HTTP response code 200 Jul 24 15:59:14 [SERVER] s3fs[14873]: message repeated 4 times: [ HTTP response code 200] Jul 24 15:59:14 [SERVER] s3fs[14873]: [tpath=/[FILE.ISO]][parts=22] Jul 24 15:59:14 [SERVER] s3fs[14873]: URL is https://us-southeast-1.linodeobjects.com/[SERVER]-2/ReBirth%20RB-338.iso?uploadId=2~4fpM0JxUAL3LWezyvXUdE-V8OtegrbT Jul 24 15:59:14 [SERVER] s3fs[14873]: URL changed is https://[SERVER]-2.us-southeast-1.linodeobjects.com/[ESCAPEDFILE.ISO]?uploadId=2~4fpM0JxUAL3LWezyvXUdE-V8OtegrbT Jul 24 15:59:14 [SERVER] s3fs[14873]: computing signature [POST] [/[FILE.ISO]] [uploadId=2~4fpM0JxUAL3LWezyvXUdE-V8OtegrbT] [ad052c2c03b39fd8b7ee959e91792ef6ba5e59d7128cf173bdf7d00e84cb2093] Jul 24 15:59:14 [SERVER] s3fs[14873]: url is https://us-southeast-1.linodeobjects.com Jul 24 15:59:14 [SERVER] s3fs[14873]: HTTP response code 200 Jul 24 15:59:14 [SERVER] s3fs[14873]: delete stat cache entry[path=/[FILE.ISO]] Jul 24 15:59:14 [SERVER] s3fs[14873]: [path=/[FILE.ISO]][pseudo_fd=2] Jul 24 15:59:14 [SERVER] s3fs[14873]: [path=/[FILE.ISO]][pseudo_fd=2] Jul 24 15:59:14 [SERVER] s3fs[14873]: delete stat cache entry[path=/[FILE.ISO]] ``` After copying those files, I tried the 'touch test.txt' 'mv test.txt asdf.txt' test and got the same results (Operation not permitted, moving not working, etc.). Am I misunderstanding the MPU part? For clarification, this is with sse-c and having copy api enabled (that is, the --nocopyapi flag is *not* passed as an option).
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#1127
No description provided.