[GH-ISSUE #922] Errors while mounting with use_sse=kmsid option #526

Closed
opened 2026-03-04 01:46:23 +03:00 by kerem · 4 comments
Owner

Originally created by @cmarasescu on GitHub (Jan 23, 2019).
Original GitHub issue: https://github.com/s3fs-fuse/s3fs-fuse/issues/922

Additional Information

I have created a S3 Cloud Object Storage inside IBM Cloud (Bluemix) => according to IBM it uses the same S3 API as AWS Cloud Storage. I've also created a bucket with KMS enabled.

It seems that s3fs fails when using use_sse=kmsid option => I get write errors.
Using s3fs with use_sse=custom option works just fine.

Version of s3fs being used (s3fs --version)

Amazon Simple Storage Service File System V1.84(commit:unknown) with OpenSSL

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

2.9.2-10.el7

Kernel information (uname -r)

3.10.0-862.14.4.el7.x86_64

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

Red Hat Enterprise Linux Workstation release 7.5 (Maipo)

s3fs command line used, if applicable

export AWSSSEKMSID='xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
s3fs docker.registry.enc.test.bucket /mnt/test -o url=https://s3.eu-de.cloud-object-storage.appdomain.cloud -o passwd_file=/root/credentials_file_encrypted,uid=105432,gid=105432,umask=0007,use_path_request_style,use_sse=kmsid,dbglevel=info -f

/etc/fstab entry, if applicable

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

[CRT] s3fs.cpp:set_s3fs_log_level(273): change debug level from [CRT] to [INF] 
[INF]     s3fs.cpp:set_mountpoint_attribute(4180): PROC(uid=0, gid=0) - MountPoint(uid=0, gid=0, mode=40755)
[INF] s3fs.cpp:s3fs_init(3379): init v1.84(commit:unknown) with OpenSSL
[INF] s3fs.cpp:s3fs_check_service(3721): check services.
[INF]       curl.cpp:CheckBucket(3076): check a bucket.
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/
[INF]       curl.cpp:insertV4Headers(2408): computing signature [GET] [/] [] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:RequestPerform(2062): HTTP response code 200
[INF] s3fs.cpp:s3fs_getattr(843): [path=/]
[INF] s3fs.cpp:s3fs_opendir(2283): [path=/][flags=100352]
[INF] s3fs.cpp:s3fs_readdir(2434): [path=/]
[INF]   s3fs.cpp:list_bucket(2477): [path=/]
[INF]       curl.cpp:ListBucketRequest(3111): [tpath=/]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket?delimiter=/&max-keys=1000&prefix=
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/?delimiter=/&max-keys=1000&prefix=
[INF]       curl.cpp:insertV4Headers(2408): computing signature [GET] [/] [delimiter=/&max-keys=1000&prefix=] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:RequestPerform(2062): HTTP response code 200
[INF]   s3fs.cpp:readdir_multi_head(2348): [path=/][list=0]
[INF]       curl.cpp:PreHeadRequest(2665): [tpath=/file1][bpath=file1][save=/file1][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file1
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file1
[INF]       curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/file1] [] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:PreHeadRequest(2665): [tpath=/test_file][bpath=test_file][save=/test_file][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/test_file
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/test_file
[INF]       curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/test_file] [] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:Request(4010): [count=2]
[INF]       curl.cpp:RequestPerform(2062): HTTP response code 200
[INF]       curl.cpp:RequestPerform(2062): HTTP response code 200
[INF]       cache.cpp:AddStat(356): add stat cache entry[path=/test_file]
[INF]       cache.cpp:AddStat(356): add stat cache entry[path=/file1]
[INF] s3fs.cpp:s3fs_getattr(843): [path=/file1]
[INF] s3fs.cpp:s3fs_getattr(843): [path=/test_file]
[INF] s3fs.cpp:s3fs_getattr(843): [path=/]
[INF] s3fs.cpp:s3fs_getattr(843): [path=/encrypted.txt]
[INF]       curl.cpp:HeadRequest(2716): [tpath=/encrypted.txt]
[INF]       curl.cpp:PreHeadRequest(2665): [tpath=/encrypted.txt][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt
[INF]       curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/encrypted.txt] [] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT
[INF]       curl.cpp:HeadRequest(2716): [tpath=/encrypted.txt/]
[INF]       curl.cpp:PreHeadRequest(2665): [tpath=/encrypted.txt/][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt/
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt/
[INF]       curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/encrypted.txt/] [] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT
[INF]       curl.cpp:HeadRequest(2716): [tpath=/encrypted.txt_$folder$]
[INF]       curl.cpp:PreHeadRequest(2665): [tpath=/encrypted.txt_$folder$][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt_%24folder%24
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt_%24folder%24
[INF]       curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/encrypted.txt_$folder$] [] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT
[INF]   s3fs.cpp:list_bucket(2477): [path=/encrypted.txt]
[INF]       curl.cpp:ListBucketRequest(3111): [tpath=/encrypted.txt]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket?delimiter=/&max-keys=2&prefix=encrypted.txt/
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/?delimiter=/&max-keys=2&prefix=encrypted.txt/
[INF]       curl.cpp:insertV4Headers(2408): computing signature [GET] [/] [delimiter=/&max-keys=2&prefix=encrypted.txt/] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:RequestPerform(2062): HTTP response code 200
[INF] s3fs.cpp:s3fs_getattr(843): [path=/encrypted.txt]
[INF]       curl.cpp:HeadRequest(2716): [tpath=/encrypted.txt]
[INF]       curl.cpp:PreHeadRequest(2665): [tpath=/encrypted.txt][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt
[INF]       curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/encrypted.txt] [] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT
[INF]       curl.cpp:HeadRequest(2716): [tpath=/encrypted.txt/]
[INF]       curl.cpp:PreHeadRequest(2665): [tpath=/encrypted.txt/][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt/
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt/
[INF]       curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/encrypted.txt/] [] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT
[INF]       curl.cpp:HeadRequest(2716): [tpath=/encrypted.txt_$folder$]
[INF]       curl.cpp:PreHeadRequest(2665): [tpath=/encrypted.txt_$folder$][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt_%24folder%24
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt_%24folder%24
[INF]       curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/encrypted.txt_$folder$] [] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT
[INF]   s3fs.cpp:list_bucket(2477): [path=/encrypted.txt]
[INF]       curl.cpp:ListBucketRequest(3111): [tpath=/encrypted.txt]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket?delimiter=/&max-keys=2&prefix=encrypted.txt/
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/?delimiter=/&max-keys=2&prefix=encrypted.txt/
[INF]       curl.cpp:insertV4Headers(2408): computing signature [GET] [/] [delimiter=/&max-keys=2&prefix=encrypted.txt/] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:RequestPerform(2062): HTTP response code 200
[INF] s3fs.cpp:s3fs_getattr(843): [path=/encrypted.txt]
[INF]       curl.cpp:HeadRequest(2716): [tpath=/encrypted.txt]
[INF]       curl.cpp:PreHeadRequest(2665): [tpath=/encrypted.txt][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt
[INF]       curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/encrypted.txt] [] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT
[INF]       curl.cpp:HeadRequest(2716): [tpath=/encrypted.txt/]
[INF]       curl.cpp:PreHeadRequest(2665): [tpath=/encrypted.txt/][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt/
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt/
[INF]       curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/encrypted.txt/] [] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT
[INF]       curl.cpp:HeadRequest(2716): [tpath=/encrypted.txt_$folder$]
[INF]       curl.cpp:PreHeadRequest(2665): [tpath=/encrypted.txt_$folder$][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt_%24folder%24
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt_%24folder%24
[INF]       curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/encrypted.txt_$folder$] [] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT
[INF]   s3fs.cpp:list_bucket(2477): [path=/encrypted.txt]
[INF]       curl.cpp:ListBucketRequest(3111): [tpath=/encrypted.txt]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket?delimiter=/&max-keys=2&prefix=encrypted.txt/
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/?delimiter=/&max-keys=2&prefix=encrypted.txt/
[INF]       curl.cpp:insertV4Headers(2408): computing signature [GET] [/] [delimiter=/&max-keys=2&prefix=encrypted.txt/] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:RequestPerform(2062): HTTP response code 200
[INF] s3fs.cpp:s3fs_create(1001): [path=/encrypted.txt][mode=100644][flags=32961]
[INF]       curl.cpp:HeadRequest(2716): [tpath=/encrypted.txt]
[INF]       curl.cpp:PreHeadRequest(2665): [tpath=/encrypted.txt][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt
[INF]       curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/encrypted.txt] [] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT
[INF]       curl.cpp:HeadRequest(2716): [tpath=/encrypted.txt/]
[INF]       curl.cpp:PreHeadRequest(2665): [tpath=/encrypted.txt/][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt/
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt/
[INF]       curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/encrypted.txt/] [] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT
[INF]       curl.cpp:HeadRequest(2716): [tpath=/encrypted.txt_$folder$]
[INF]       curl.cpp:PreHeadRequest(2665): [tpath=/encrypted.txt_$folder$][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt_%24folder%24
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt_%24folder%24
[INF]       curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/encrypted.txt_$folder$] [] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT
[INF]   s3fs.cpp:list_bucket(2477): [path=/encrypted.txt]
[INF]       curl.cpp:ListBucketRequest(3111): [tpath=/encrypted.txt]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket?delimiter=/&max-keys=2&prefix=encrypted.txt/
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/?delimiter=/&max-keys=2&prefix=encrypted.txt/
[INF]       curl.cpp:insertV4Headers(2408): computing signature [GET] [/] [delimiter=/&max-keys=2&prefix=encrypted.txt/] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:RequestPerform(2062): HTTP response code 200
[INF]     s3fs.cpp:create_file_object(962): [path=/encrypted.txt][mode=100644]
[INF]       curl.cpp:PutRequest(2879): [tpath=/encrypted.txt]
[INF]       curl.cpp:PutRequest(2897): create zero byte file object.
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt
[INF]       curl.cpp:insertV4Headers(2408): computing signature [PUT] [/encrypted.txt] [] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:PutRequest(2977): uploading... [path=/encrypted.txt][fd=-1][size=0]
[ERR] curl.cpp:RequestPerform(2074): HTTP response code 400, returning EIO. Body Text: <?xml version="1.0" encoding="UTF-8" standalone="yes"?><Error><Code>BadRequest</Code><Message>Server-Side Encryption with Customer-Provided Keys is not supported while Key Protect is enabled.</Message><Resource>/docker.registry.enc.test.bucket/encrypted.txt</Resource><RequestId>b66bc5ac-fb02-48d2-a95b-4b4d8c4ae454</RequestId><httpStatusCode>400</httpStatusCode></Error>
[INF]       cache.cpp:DelStat(565): delete stat cache entry[path=/encrypted.txt]
[INF] s3fs.cpp:s3fs_getattr(843): [path=/]
[INF] s3fs.cpp:s3fs_getattr(843): [path=/]
[INF] s3fs.cpp:s3fs_opendir(2283): [path=/][flags=100352]
[INF] s3fs.cpp:s3fs_readdir(2434): [path=/]
[INF]   s3fs.cpp:list_bucket(2477): [path=/]
[INF]       curl.cpp:ListBucketRequest(3111): [tpath=/]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket?delimiter=/&max-keys=1000&prefix=
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/?delimiter=/&max-keys=1000&prefix=
[INF]       curl.cpp:insertV4Headers(2408): computing signature [GET] [/] [delimiter=/&max-keys=1000&prefix=] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:RequestPerform(2062): HTTP response code 200
[INF]   s3fs.cpp:readdir_multi_head(2348): [path=/][list=0]
[INF]       curl.cpp:Request(4010): [count=0]
[INF] s3fs.cpp:s3fs_getattr(843): [path=/file1]
[INF] s3fs.cpp:s3fs_getattr(843): [path=/]
[INF] s3fs.cpp:s3fs_opendir(2283): [path=/][flags=100352]
[INF] s3fs.cpp:s3fs_readdir(2434): [path=/]
[INF]   s3fs.cpp:list_bucket(2477): [path=/]
[INF]       curl.cpp:ListBucketRequest(3111): [tpath=/]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket?delimiter=/&max-keys=1000&prefix=
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/?delimiter=/&max-keys=1000&prefix=
[INF]       curl.cpp:insertV4Headers(2408): computing signature [GET] [/] [delimiter=/&max-keys=1000&prefix=] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:RequestPerform(2062): HTTP response code 200
[INF]   s3fs.cpp:readdir_multi_head(2348): [path=/][list=0]
[INF]       curl.cpp:Request(4010): [count=0]
[INF] s3fs.cpp:s3fs_getattr(843): [path=/]
[INF] s3fs.cpp:s3fs_getattr(843): [path=/]
[INF] s3fs.cpp:s3fs_opendir(2283): [path=/][flags=100352]
[INF] s3fs.cpp:s3fs_readdir(2434): [path=/]
[INF]   s3fs.cpp:list_bucket(2477): [path=/]
[INF]       curl.cpp:ListBucketRequest(3111): [tpath=/]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket?delimiter=/&max-keys=1000&prefix=
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/?delimiter=/&max-keys=1000&prefix=
[INF]       curl.cpp:insertV4Headers(2408): computing signature [GET] [/] [delimiter=/&max-keys=1000&prefix=] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:RequestPerform(2062): HTTP response code 200
[INF]   s3fs.cpp:readdir_multi_head(2348): [path=/][list=0]
[INF]       curl.cpp:Request(4010): [count=0]
[INF] s3fs.cpp:s3fs_getattr(843): [path=/file1]
[INF] s3fs.cpp:s3fs_getattr(843): [path=/]
[INF] s3fs.cpp:s3fs_opendir(2283): [path=/][flags=100352]
[INF] s3fs.cpp:s3fs_readdir(2434): [path=/]
[INF]   s3fs.cpp:list_bucket(2477): [path=/]
[INF]       curl.cpp:ListBucketRequest(3111): [tpath=/]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket?delimiter=/&max-keys=1000&prefix=
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/?delimiter=/&max-keys=1000&prefix=
[INF]       curl.cpp:insertV4Headers(2408): computing signature [GET] [/] [delimiter=/&max-keys=1000&prefix=] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:RequestPerform(2062): HTTP response code 200
[INF]   s3fs.cpp:readdir_multi_head(2348): [path=/][list=0]
[INF]       curl.cpp:Request(4010): [count=0]
[INF] s3fs.cpp:s3fs_getattr(843): [path=/file2]
[INF]       curl.cpp:HeadRequest(2716): [tpath=/file2]
[INF]       curl.cpp:PreHeadRequest(2665): [tpath=/file2][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2
[INF]       curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/file2] [] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT
[INF]       curl.cpp:HeadRequest(2716): [tpath=/file2/]
[INF]       curl.cpp:PreHeadRequest(2665): [tpath=/file2/][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2/
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2/
[INF]       curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/file2/] [] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT
[INF]       curl.cpp:HeadRequest(2716): [tpath=/file2_$folder$]
[INF]       curl.cpp:PreHeadRequest(2665): [tpath=/file2_$folder$][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2_%24folder%24
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2_%24folder%24
[INF]       curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/file2_$folder$] [] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT
[INF]   s3fs.cpp:list_bucket(2477): [path=/file2]
[INF]       curl.cpp:ListBucketRequest(3111): [tpath=/file2]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket?delimiter=/&max-keys=2&prefix=file2/
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/?delimiter=/&max-keys=2&prefix=file2/
[INF]       curl.cpp:insertV4Headers(2408): computing signature [GET] [/] [delimiter=/&max-keys=2&prefix=file2/] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:RequestPerform(2062): HTTP response code 200
[INF] s3fs.cpp:s3fs_getattr(843): [path=/file1]
[INF] s3fs.cpp:s3fs_getattr(843): [path=/file2]
[INF]       curl.cpp:HeadRequest(2716): [tpath=/file2]
[INF]       curl.cpp:PreHeadRequest(2665): [tpath=/file2][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2
[INF]       curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/file2] [] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT
[INF]       curl.cpp:HeadRequest(2716): [tpath=/file2/]
[INF]       curl.cpp:PreHeadRequest(2665): [tpath=/file2/][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2/
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2/
[INF]       curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/file2/] [] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT
[INF]       curl.cpp:HeadRequest(2716): [tpath=/file2_$folder$]
[INF]       curl.cpp:PreHeadRequest(2665): [tpath=/file2_$folder$][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2_%24folder%24
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2_%24folder%24
[INF]       curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/file2_$folder$] [] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT
[INF]   s3fs.cpp:list_bucket(2477): [path=/file2]
[INF]       curl.cpp:ListBucketRequest(3111): [tpath=/file2]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket?delimiter=/&max-keys=2&prefix=file2/
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/?delimiter=/&max-keys=2&prefix=file2/
[INF]       curl.cpp:insertV4Headers(2408): computing signature [GET] [/] [delimiter=/&max-keys=2&prefix=file2/] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:RequestPerform(2062): HTTP response code 200
[INF] s3fs.cpp:s3fs_getattr(843): [path=/file2]
[INF]       curl.cpp:HeadRequest(2716): [tpath=/file2]
[INF]       curl.cpp:PreHeadRequest(2665): [tpath=/file2][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2
[INF]       curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/file2] [] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT
[INF]       curl.cpp:HeadRequest(2716): [tpath=/file2/]
[INF]       curl.cpp:PreHeadRequest(2665): [tpath=/file2/][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2/
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2/
[INF]       curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/file2/] [] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT
[INF]       curl.cpp:HeadRequest(2716): [tpath=/file2_$folder$]
[INF]       curl.cpp:PreHeadRequest(2665): [tpath=/file2_$folder$][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2_%24folder%24
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2_%24folder%24
[INF]       curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/file2_$folder$] [] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT
[INF]   s3fs.cpp:list_bucket(2477): [path=/file2]
[INF]       curl.cpp:ListBucketRequest(3111): [tpath=/file2]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket?delimiter=/&max-keys=2&prefix=file2/
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/?delimiter=/&max-keys=2&prefix=file2/
[INF]       curl.cpp:insertV4Headers(2408): computing signature [GET] [/] [delimiter=/&max-keys=2&prefix=file2/] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:RequestPerform(2062): HTTP response code 200
[INF] s3fs.cpp:s3fs_rename(1505): [from=/file1][to=/file2]
[INF]   s3fs.cpp:rename_object(1239): [from=/file1][to=/file2]
[INF]     s3fs.cpp:put_headers(804): [path=/file2]
[INF]       curl.cpp:HeadRequest(2716): [tpath=/file2]
[INF]       curl.cpp:PreHeadRequest(2665): [tpath=/file2][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2
[INF]       curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/file2] [] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT
[INF]       curl.cpp:HeadRequest(2716): [tpath=/file2/]
[INF]       curl.cpp:PreHeadRequest(2665): [tpath=/file2/][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2/
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2/
[INF]       curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/file2/] [] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT
[INF]       curl.cpp:HeadRequest(2716): [tpath=/file2_$folder$]
[INF]       curl.cpp:PreHeadRequest(2665): [tpath=/file2_$folder$][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2_%24folder%24
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2_%24folder%24
[INF]       curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/file2_$folder$] [] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT
[INF]   s3fs.cpp:list_bucket(2477): [path=/file2]
[INF]       curl.cpp:ListBucketRequest(3111): [tpath=/file2]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket?delimiter=/&max-keys=2&prefix=file2/
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/?delimiter=/&max-keys=2&prefix=file2/
[INF]       curl.cpp:insertV4Headers(2408): computing signature [GET] [/] [delimiter=/&max-keys=2&prefix=file2/] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:RequestPerform(2062): HTTP response code 200
[INF]       curl.cpp:PutHeadRequest(2761): [tpath=/file2]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2
[INF]       curl.cpp:insertV4Headers(2408): computing signature [PUT] [/file2] [] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:PutHeadRequest(2845): copying... [path=/file2]
[INF]       curl.cpp:RequestPerform(2062): HTTP response code 200
[INF] s3fs.cpp:s3fs_unlink(1095): [path=/file1]
[INF]       curl.cpp:DeleteRequest(2479): [tpath=/file1]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file1
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file1
[INF]       curl.cpp:insertV4Headers(2408): computing signature [DELETE] [/file1] [] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:RequestPerform(2062): HTTP response code 204
[INF]       fdcache.cpp:DeleteCacheFile(1820): [path=/file1]
[INF]       cache.cpp:DelStat(565): delete stat cache entry[path=/file1]
[INF]       cache.cpp:DelStat(565): delete stat cache entry[path=/file2]
[INF] s3fs.cpp:s3fs_getattr(843): [path=/file2]
[INF]       curl.cpp:HeadRequest(2716): [tpath=/file2]
[INF]       curl.cpp:PreHeadRequest(2665): [tpath=/file2][bpath=][save=][sseckeypos=-1]
[INF]       curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2
[INF]       curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2
[INF]       curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/file2] [] []
[INF]       curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud
[INF]       curl.cpp:RequestPerform(2062): HTTP response code 200
[INF]       cache.cpp:AddStat(356): add stat cache entry[path=/file2]
[INF] s3fs.cpp:s3fs_access(3442): [path=/file2][mask=F_OK]
[INF] s3fs.cpp:s3fs_getattr(843): [path=/]

Details about issue

I have created a S3 Cloud Object Storage inside IBM Cloud (Bluemix) => according to IBM it uses the same S3 API as AWS Cloud Storage.
I've also created a bucket with KMS enabled.

I came to an error when trying to mount the bucket locally using s3fs.
It seems that s3fs does not handle well the KMSID.
When mounting the S3 bucket with use_sse=kmsid option, I'm not able to write files to it.
However, I'm able to browse the existing files (ls command) and I'm able to rename existing files (mv command).

[root@oc6205062406 ~]# ll /mnt/test/
total 1
-rwxrwx---. 1 105432 105432 13 Jan  9 14:15 file1
-rwxrwx---. 1 105432 105432 13 Jan  9 14:37 test_file
[root@oc6205062406 ~]# pwd
/root
[root@oc6205062406 ~]# cp encrypted.txt /mnt/test/
cp: cannot create regular file ‘/mnt/test/encrypted.txt’: Input/output error

[ERR] curl.cpp:RequestPerform(2074): HTTP response code 400, returning EIO. Body Text: <?xml version="1.0" encoding="UTF-8" standalone="yes"?><Error><Code>BadRequest</Code><Message>Server-Side Encryption with Customer-Provided Keys is not supported while Key Protect is enabled.</Message><Resource>/docker.registry.enc.test.bucket/encrypted.txt</Resource><RequestId>b66bc5ac-fb02-48d2-a95b-4b4d8c4ae454</RequestId><httpStatusCode>400</httpStatusCode></Error>

[root@oc6205062406 ~]# mv /mnt/test/file1 /mnt/test/file2
[root@oc6205062406 ~]# ll /mnt/test/
total 1
-rwxrwx---. 1 105432 105432 13 Jan 23 08:55 file2
-rwxrwx---. 1 105432 105432 13 Jan  9 14:37 test_file

Above, in the log section, you can see detailed logs
Using s3fs with use_sse=custom option works just fine.

Originally created by @cmarasescu on GitHub (Jan 23, 2019). Original GitHub issue: https://github.com/s3fs-fuse/s3fs-fuse/issues/922 ### Additional Information I have created a S3 Cloud Object Storage inside IBM Cloud (Bluemix) => according to IBM it uses the same S3 API as AWS Cloud Storage. I've also created a bucket with KMS enabled. It seems that s3fs fails when using use_sse=kmsid option => I get write errors. Using s3fs with use_sse=custom option works just fine. #### Version of s3fs being used (s3fs --version) _Amazon Simple Storage Service File System V1.84(commit:unknown) with OpenSSL_ #### Version of fuse being used (pkg-config --modversion fuse, rpm -qi fuse, dpkg -s fuse) _2.9.2-10.el7_ #### Kernel information (uname -r) _3.10.0-862.14.4.el7.x86_64_ #### GNU/Linux Distribution, if applicable (cat /etc/os-release) _Red Hat Enterprise Linux Workstation release 7.5 (Maipo)_ #### s3fs command line used, if applicable ``` export AWSSSEKMSID='xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' s3fs docker.registry.enc.test.bucket /mnt/test -o url=https://s3.eu-de.cloud-object-storage.appdomain.cloud -o passwd_file=/root/credentials_file_encrypted,uid=105432,gid=105432,umask=0007,use_path_request_style,use_sse=kmsid,dbglevel=info -f ``` #### /etc/fstab entry, if applicable ``` ``` #### 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_ ``` [CRT] s3fs.cpp:set_s3fs_log_level(273): change debug level from [CRT] to [INF] [INF] s3fs.cpp:set_mountpoint_attribute(4180): PROC(uid=0, gid=0) - MountPoint(uid=0, gid=0, mode=40755) [INF] s3fs.cpp:s3fs_init(3379): init v1.84(commit:unknown) with OpenSSL [INF] s3fs.cpp:s3fs_check_service(3721): check services. [INF] curl.cpp:CheckBucket(3076): check a bucket. [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/ [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/ [INF] curl.cpp:insertV4Headers(2408): computing signature [GET] [/] [] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:RequestPerform(2062): HTTP response code 200 [INF] s3fs.cpp:s3fs_getattr(843): [path=/] [INF] s3fs.cpp:s3fs_opendir(2283): [path=/][flags=100352] [INF] s3fs.cpp:s3fs_readdir(2434): [path=/] [INF] s3fs.cpp:list_bucket(2477): [path=/] [INF] curl.cpp:ListBucketRequest(3111): [tpath=/] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket?delimiter=/&max-keys=1000&prefix= [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/?delimiter=/&max-keys=1000&prefix= [INF] curl.cpp:insertV4Headers(2408): computing signature [GET] [/] [delimiter=/&max-keys=1000&prefix=] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:RequestPerform(2062): HTTP response code 200 [INF] s3fs.cpp:readdir_multi_head(2348): [path=/][list=0] [INF] curl.cpp:PreHeadRequest(2665): [tpath=/file1][bpath=file1][save=/file1][sseckeypos=-1] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file1 [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file1 [INF] curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/file1] [] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:PreHeadRequest(2665): [tpath=/test_file][bpath=test_file][save=/test_file][sseckeypos=-1] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/test_file [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/test_file [INF] curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/test_file] [] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:Request(4010): [count=2] [INF] curl.cpp:RequestPerform(2062): HTTP response code 200 [INF] curl.cpp:RequestPerform(2062): HTTP response code 200 [INF] cache.cpp:AddStat(356): add stat cache entry[path=/test_file] [INF] cache.cpp:AddStat(356): add stat cache entry[path=/file1] [INF] s3fs.cpp:s3fs_getattr(843): [path=/file1] [INF] s3fs.cpp:s3fs_getattr(843): [path=/test_file] [INF] s3fs.cpp:s3fs_getattr(843): [path=/] [INF] s3fs.cpp:s3fs_getattr(843): [path=/encrypted.txt] [INF] curl.cpp:HeadRequest(2716): [tpath=/encrypted.txt] [INF] curl.cpp:PreHeadRequest(2665): [tpath=/encrypted.txt][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt [INF] curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/encrypted.txt] [] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT [INF] curl.cpp:HeadRequest(2716): [tpath=/encrypted.txt/] [INF] curl.cpp:PreHeadRequest(2665): [tpath=/encrypted.txt/][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt/ [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt/ [INF] curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/encrypted.txt/] [] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT [INF] curl.cpp:HeadRequest(2716): [tpath=/encrypted.txt_$folder$] [INF] curl.cpp:PreHeadRequest(2665): [tpath=/encrypted.txt_$folder$][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt_%24folder%24 [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt_%24folder%24 [INF] curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/encrypted.txt_$folder$] [] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT [INF] s3fs.cpp:list_bucket(2477): [path=/encrypted.txt] [INF] curl.cpp:ListBucketRequest(3111): [tpath=/encrypted.txt] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket?delimiter=/&max-keys=2&prefix=encrypted.txt/ [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/?delimiter=/&max-keys=2&prefix=encrypted.txt/ [INF] curl.cpp:insertV4Headers(2408): computing signature [GET] [/] [delimiter=/&max-keys=2&prefix=encrypted.txt/] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:RequestPerform(2062): HTTP response code 200 [INF] s3fs.cpp:s3fs_getattr(843): [path=/encrypted.txt] [INF] curl.cpp:HeadRequest(2716): [tpath=/encrypted.txt] [INF] curl.cpp:PreHeadRequest(2665): [tpath=/encrypted.txt][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt [INF] curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/encrypted.txt] [] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT [INF] curl.cpp:HeadRequest(2716): [tpath=/encrypted.txt/] [INF] curl.cpp:PreHeadRequest(2665): [tpath=/encrypted.txt/][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt/ [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt/ [INF] curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/encrypted.txt/] [] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT [INF] curl.cpp:HeadRequest(2716): [tpath=/encrypted.txt_$folder$] [INF] curl.cpp:PreHeadRequest(2665): [tpath=/encrypted.txt_$folder$][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt_%24folder%24 [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt_%24folder%24 [INF] curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/encrypted.txt_$folder$] [] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT [INF] s3fs.cpp:list_bucket(2477): [path=/encrypted.txt] [INF] curl.cpp:ListBucketRequest(3111): [tpath=/encrypted.txt] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket?delimiter=/&max-keys=2&prefix=encrypted.txt/ [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/?delimiter=/&max-keys=2&prefix=encrypted.txt/ [INF] curl.cpp:insertV4Headers(2408): computing signature [GET] [/] [delimiter=/&max-keys=2&prefix=encrypted.txt/] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:RequestPerform(2062): HTTP response code 200 [INF] s3fs.cpp:s3fs_getattr(843): [path=/encrypted.txt] [INF] curl.cpp:HeadRequest(2716): [tpath=/encrypted.txt] [INF] curl.cpp:PreHeadRequest(2665): [tpath=/encrypted.txt][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt [INF] curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/encrypted.txt] [] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT [INF] curl.cpp:HeadRequest(2716): [tpath=/encrypted.txt/] [INF] curl.cpp:PreHeadRequest(2665): [tpath=/encrypted.txt/][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt/ [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt/ [INF] curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/encrypted.txt/] [] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT [INF] curl.cpp:HeadRequest(2716): [tpath=/encrypted.txt_$folder$] [INF] curl.cpp:PreHeadRequest(2665): [tpath=/encrypted.txt_$folder$][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt_%24folder%24 [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt_%24folder%24 [INF] curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/encrypted.txt_$folder$] [] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT [INF] s3fs.cpp:list_bucket(2477): [path=/encrypted.txt] [INF] curl.cpp:ListBucketRequest(3111): [tpath=/encrypted.txt] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket?delimiter=/&max-keys=2&prefix=encrypted.txt/ [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/?delimiter=/&max-keys=2&prefix=encrypted.txt/ [INF] curl.cpp:insertV4Headers(2408): computing signature [GET] [/] [delimiter=/&max-keys=2&prefix=encrypted.txt/] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:RequestPerform(2062): HTTP response code 200 [INF] s3fs.cpp:s3fs_create(1001): [path=/encrypted.txt][mode=100644][flags=32961] [INF] curl.cpp:HeadRequest(2716): [tpath=/encrypted.txt] [INF] curl.cpp:PreHeadRequest(2665): [tpath=/encrypted.txt][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt [INF] curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/encrypted.txt] [] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT [INF] curl.cpp:HeadRequest(2716): [tpath=/encrypted.txt/] [INF] curl.cpp:PreHeadRequest(2665): [tpath=/encrypted.txt/][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt/ [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt/ [INF] curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/encrypted.txt/] [] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT [INF] curl.cpp:HeadRequest(2716): [tpath=/encrypted.txt_$folder$] [INF] curl.cpp:PreHeadRequest(2665): [tpath=/encrypted.txt_$folder$][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt_%24folder%24 [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt_%24folder%24 [INF] curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/encrypted.txt_$folder$] [] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT [INF] s3fs.cpp:list_bucket(2477): [path=/encrypted.txt] [INF] curl.cpp:ListBucketRequest(3111): [tpath=/encrypted.txt] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket?delimiter=/&max-keys=2&prefix=encrypted.txt/ [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/?delimiter=/&max-keys=2&prefix=encrypted.txt/ [INF] curl.cpp:insertV4Headers(2408): computing signature [GET] [/] [delimiter=/&max-keys=2&prefix=encrypted.txt/] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:RequestPerform(2062): HTTP response code 200 [INF] s3fs.cpp:create_file_object(962): [path=/encrypted.txt][mode=100644] [INF] curl.cpp:PutRequest(2879): [tpath=/encrypted.txt] [INF] curl.cpp:PutRequest(2897): create zero byte file object. [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/encrypted.txt [INF] curl.cpp:insertV4Headers(2408): computing signature [PUT] [/encrypted.txt] [] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:PutRequest(2977): uploading... [path=/encrypted.txt][fd=-1][size=0] [ERR] curl.cpp:RequestPerform(2074): HTTP response code 400, returning EIO. Body Text: <?xml version="1.0" encoding="UTF-8" standalone="yes"?><Error><Code>BadRequest</Code><Message>Server-Side Encryption with Customer-Provided Keys is not supported while Key Protect is enabled.</Message><Resource>/docker.registry.enc.test.bucket/encrypted.txt</Resource><RequestId>b66bc5ac-fb02-48d2-a95b-4b4d8c4ae454</RequestId><httpStatusCode>400</httpStatusCode></Error> [INF] cache.cpp:DelStat(565): delete stat cache entry[path=/encrypted.txt] [INF] s3fs.cpp:s3fs_getattr(843): [path=/] [INF] s3fs.cpp:s3fs_getattr(843): [path=/] [INF] s3fs.cpp:s3fs_opendir(2283): [path=/][flags=100352] [INF] s3fs.cpp:s3fs_readdir(2434): [path=/] [INF] s3fs.cpp:list_bucket(2477): [path=/] [INF] curl.cpp:ListBucketRequest(3111): [tpath=/] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket?delimiter=/&max-keys=1000&prefix= [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/?delimiter=/&max-keys=1000&prefix= [INF] curl.cpp:insertV4Headers(2408): computing signature [GET] [/] [delimiter=/&max-keys=1000&prefix=] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:RequestPerform(2062): HTTP response code 200 [INF] s3fs.cpp:readdir_multi_head(2348): [path=/][list=0] [INF] curl.cpp:Request(4010): [count=0] [INF] s3fs.cpp:s3fs_getattr(843): [path=/file1] [INF] s3fs.cpp:s3fs_getattr(843): [path=/] [INF] s3fs.cpp:s3fs_opendir(2283): [path=/][flags=100352] [INF] s3fs.cpp:s3fs_readdir(2434): [path=/] [INF] s3fs.cpp:list_bucket(2477): [path=/] [INF] curl.cpp:ListBucketRequest(3111): [tpath=/] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket?delimiter=/&max-keys=1000&prefix= [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/?delimiter=/&max-keys=1000&prefix= [INF] curl.cpp:insertV4Headers(2408): computing signature [GET] [/] [delimiter=/&max-keys=1000&prefix=] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:RequestPerform(2062): HTTP response code 200 [INF] s3fs.cpp:readdir_multi_head(2348): [path=/][list=0] [INF] curl.cpp:Request(4010): [count=0] [INF] s3fs.cpp:s3fs_getattr(843): [path=/] [INF] s3fs.cpp:s3fs_getattr(843): [path=/] [INF] s3fs.cpp:s3fs_opendir(2283): [path=/][flags=100352] [INF] s3fs.cpp:s3fs_readdir(2434): [path=/] [INF] s3fs.cpp:list_bucket(2477): [path=/] [INF] curl.cpp:ListBucketRequest(3111): [tpath=/] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket?delimiter=/&max-keys=1000&prefix= [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/?delimiter=/&max-keys=1000&prefix= [INF] curl.cpp:insertV4Headers(2408): computing signature [GET] [/] [delimiter=/&max-keys=1000&prefix=] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:RequestPerform(2062): HTTP response code 200 [INF] s3fs.cpp:readdir_multi_head(2348): [path=/][list=0] [INF] curl.cpp:Request(4010): [count=0] [INF] s3fs.cpp:s3fs_getattr(843): [path=/file1] [INF] s3fs.cpp:s3fs_getattr(843): [path=/] [INF] s3fs.cpp:s3fs_opendir(2283): [path=/][flags=100352] [INF] s3fs.cpp:s3fs_readdir(2434): [path=/] [INF] s3fs.cpp:list_bucket(2477): [path=/] [INF] curl.cpp:ListBucketRequest(3111): [tpath=/] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket?delimiter=/&max-keys=1000&prefix= [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/?delimiter=/&max-keys=1000&prefix= [INF] curl.cpp:insertV4Headers(2408): computing signature [GET] [/] [delimiter=/&max-keys=1000&prefix=] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:RequestPerform(2062): HTTP response code 200 [INF] s3fs.cpp:readdir_multi_head(2348): [path=/][list=0] [INF] curl.cpp:Request(4010): [count=0] [INF] s3fs.cpp:s3fs_getattr(843): [path=/file2] [INF] curl.cpp:HeadRequest(2716): [tpath=/file2] [INF] curl.cpp:PreHeadRequest(2665): [tpath=/file2][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2 [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2 [INF] curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/file2] [] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT [INF] curl.cpp:HeadRequest(2716): [tpath=/file2/] [INF] curl.cpp:PreHeadRequest(2665): [tpath=/file2/][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2/ [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2/ [INF] curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/file2/] [] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT [INF] curl.cpp:HeadRequest(2716): [tpath=/file2_$folder$] [INF] curl.cpp:PreHeadRequest(2665): [tpath=/file2_$folder$][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2_%24folder%24 [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2_%24folder%24 [INF] curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/file2_$folder$] [] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT [INF] s3fs.cpp:list_bucket(2477): [path=/file2] [INF] curl.cpp:ListBucketRequest(3111): [tpath=/file2] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket?delimiter=/&max-keys=2&prefix=file2/ [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/?delimiter=/&max-keys=2&prefix=file2/ [INF] curl.cpp:insertV4Headers(2408): computing signature [GET] [/] [delimiter=/&max-keys=2&prefix=file2/] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:RequestPerform(2062): HTTP response code 200 [INF] s3fs.cpp:s3fs_getattr(843): [path=/file1] [INF] s3fs.cpp:s3fs_getattr(843): [path=/file2] [INF] curl.cpp:HeadRequest(2716): [tpath=/file2] [INF] curl.cpp:PreHeadRequest(2665): [tpath=/file2][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2 [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2 [INF] curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/file2] [] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT [INF] curl.cpp:HeadRequest(2716): [tpath=/file2/] [INF] curl.cpp:PreHeadRequest(2665): [tpath=/file2/][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2/ [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2/ [INF] curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/file2/] [] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT [INF] curl.cpp:HeadRequest(2716): [tpath=/file2_$folder$] [INF] curl.cpp:PreHeadRequest(2665): [tpath=/file2_$folder$][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2_%24folder%24 [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2_%24folder%24 [INF] curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/file2_$folder$] [] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT [INF] s3fs.cpp:list_bucket(2477): [path=/file2] [INF] curl.cpp:ListBucketRequest(3111): [tpath=/file2] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket?delimiter=/&max-keys=2&prefix=file2/ [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/?delimiter=/&max-keys=2&prefix=file2/ [INF] curl.cpp:insertV4Headers(2408): computing signature [GET] [/] [delimiter=/&max-keys=2&prefix=file2/] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:RequestPerform(2062): HTTP response code 200 [INF] s3fs.cpp:s3fs_getattr(843): [path=/file2] [INF] curl.cpp:HeadRequest(2716): [tpath=/file2] [INF] curl.cpp:PreHeadRequest(2665): [tpath=/file2][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2 [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2 [INF] curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/file2] [] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT [INF] curl.cpp:HeadRequest(2716): [tpath=/file2/] [INF] curl.cpp:PreHeadRequest(2665): [tpath=/file2/][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2/ [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2/ [INF] curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/file2/] [] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT [INF] curl.cpp:HeadRequest(2716): [tpath=/file2_$folder$] [INF] curl.cpp:PreHeadRequest(2665): [tpath=/file2_$folder$][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2_%24folder%24 [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2_%24folder%24 [INF] curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/file2_$folder$] [] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT [INF] s3fs.cpp:list_bucket(2477): [path=/file2] [INF] curl.cpp:ListBucketRequest(3111): [tpath=/file2] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket?delimiter=/&max-keys=2&prefix=file2/ [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/?delimiter=/&max-keys=2&prefix=file2/ [INF] curl.cpp:insertV4Headers(2408): computing signature [GET] [/] [delimiter=/&max-keys=2&prefix=file2/] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:RequestPerform(2062): HTTP response code 200 [INF] s3fs.cpp:s3fs_rename(1505): [from=/file1][to=/file2] [INF] s3fs.cpp:rename_object(1239): [from=/file1][to=/file2] [INF] s3fs.cpp:put_headers(804): [path=/file2] [INF] curl.cpp:HeadRequest(2716): [tpath=/file2] [INF] curl.cpp:PreHeadRequest(2665): [tpath=/file2][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2 [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2 [INF] curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/file2] [] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT [INF] curl.cpp:HeadRequest(2716): [tpath=/file2/] [INF] curl.cpp:PreHeadRequest(2665): [tpath=/file2/][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2/ [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2/ [INF] curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/file2/] [] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT [INF] curl.cpp:HeadRequest(2716): [tpath=/file2_$folder$] [INF] curl.cpp:PreHeadRequest(2665): [tpath=/file2_$folder$][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2_%24folder%24 [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2_%24folder%24 [INF] curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/file2_$folder$] [] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:RequestPerform(2082): HTTP response code 404 was returned, returning ENOENT [INF] s3fs.cpp:list_bucket(2477): [path=/file2] [INF] curl.cpp:ListBucketRequest(3111): [tpath=/file2] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket?delimiter=/&max-keys=2&prefix=file2/ [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/?delimiter=/&max-keys=2&prefix=file2/ [INF] curl.cpp:insertV4Headers(2408): computing signature [GET] [/] [delimiter=/&max-keys=2&prefix=file2/] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:RequestPerform(2062): HTTP response code 200 [INF] curl.cpp:PutHeadRequest(2761): [tpath=/file2] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2 [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2 [INF] curl.cpp:insertV4Headers(2408): computing signature [PUT] [/file2] [] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:PutHeadRequest(2845): copying... [path=/file2] [INF] curl.cpp:RequestPerform(2062): HTTP response code 200 [INF] s3fs.cpp:s3fs_unlink(1095): [path=/file1] [INF] curl.cpp:DeleteRequest(2479): [tpath=/file1] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file1 [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file1 [INF] curl.cpp:insertV4Headers(2408): computing signature [DELETE] [/file1] [] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:RequestPerform(2062): HTTP response code 204 [INF] fdcache.cpp:DeleteCacheFile(1820): [path=/file1] [INF] cache.cpp:DelStat(565): delete stat cache entry[path=/file1] [INF] cache.cpp:DelStat(565): delete stat cache entry[path=/file2] [INF] s3fs.cpp:s3fs_getattr(843): [path=/file2] [INF] curl.cpp:HeadRequest(2716): [tpath=/file2] [INF] curl.cpp:PreHeadRequest(2665): [tpath=/file2][bpath=][save=][sseckeypos=-1] [INF] curl.cpp:prepare_url(4265): URL is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2 [INF] curl.cpp:prepare_url(4297): URL changed is https://s3.eu-de.cloud-object-storage.appdomain.cloud/docker.registry.enc.test.bucket/file2 [INF] curl.cpp:insertV4Headers(2408): computing signature [HEAD] [/file2] [] [] [INF] curl.cpp:url_to_host(101): url is https://s3.eu-de.cloud-object-storage.appdomain.cloud [INF] curl.cpp:RequestPerform(2062): HTTP response code 200 [INF] cache.cpp:AddStat(356): add stat cache entry[path=/file2] [INF] s3fs.cpp:s3fs_access(3442): [path=/file2][mask=F_OK] [INF] s3fs.cpp:s3fs_getattr(843): [path=/] ``` ### Details about issue I have created a S3 Cloud Object Storage inside IBM Cloud (Bluemix) => according to IBM it uses the same S3 API as AWS Cloud Storage. I've also created a bucket with KMS enabled. I came to an error when trying to mount the bucket locally using s3fs. It seems that s3fs does not handle well the KMSID. When mounting the S3 bucket with use_sse=kmsid option, I'm not able to write files to it. However, I'm able to browse the existing files (ls command) and I'm able to rename existing files (mv command). ``` [root@oc6205062406 ~]# ll /mnt/test/ total 1 -rwxrwx---. 1 105432 105432 13 Jan 9 14:15 file1 -rwxrwx---. 1 105432 105432 13 Jan 9 14:37 test_file [root@oc6205062406 ~]# pwd /root [root@oc6205062406 ~]# cp encrypted.txt /mnt/test/ cp: cannot create regular file ‘/mnt/test/encrypted.txt’: Input/output error [ERR] curl.cpp:RequestPerform(2074): HTTP response code 400, returning EIO. Body Text: <?xml version="1.0" encoding="UTF-8" standalone="yes"?><Error><Code>BadRequest</Code><Message>Server-Side Encryption with Customer-Provided Keys is not supported while Key Protect is enabled.</Message><Resource>/docker.registry.enc.test.bucket/encrypted.txt</Resource><RequestId>b66bc5ac-fb02-48d2-a95b-4b4d8c4ae454</RequestId><httpStatusCode>400</httpStatusCode></Error> [root@oc6205062406 ~]# mv /mnt/test/file1 /mnt/test/file2 [root@oc6205062406 ~]# ll /mnt/test/ total 1 -rwxrwx---. 1 105432 105432 13 Jan 23 08:55 file2 -rwxrwx---. 1 105432 105432 13 Jan 9 14:37 test_file ``` Above, in the log section, you can see detailed logs Using s3fs with use_sse=custom option works just fine.
kerem closed this issue 2026-03-04 01:46:23 +03:00
Author
Owner

@gaul commented on GitHub (Mar 17, 2019):

Does use_sse=kmsid work with AWS or is this an IBM-specific issue?

<!-- gh-comment-id:473607390 --> @gaul commented on GitHub (Mar 17, 2019): Does `use_sse=kmsid` work with AWS or is this an IBM-specific issue?
Author
Owner

@cmarasescu commented on GitHub (Apr 1, 2019):

I haven't tested it with AWS, I only have access in IBM Cloud.

<!-- gh-comment-id:478468814 --> @cmarasescu commented on GitHub (Apr 1, 2019): I haven't tested it with AWS, I only have access in IBM Cloud.
Author
Owner

@gaul commented on GitHub (Apr 9, 2019):

Could you test with master? It includes a fix for #696 which may resolve your issue as well.

<!-- gh-comment-id:481135857 --> @gaul commented on GitHub (Apr 9, 2019): Could you test with master? It includes a fix for #696 which may resolve your issue as well.
Author
Owner

@gaul commented on GitHub (Apr 30, 2019):

Please reopen if you can reproduce these symptoms.

<!-- gh-comment-id:487863498 --> @gaul commented on GitHub (Apr 30, 2019): Please reopen if you can reproduce these symptoms.
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#526
No description provided.