[PR #2587] [MERGED] Fixed readdir bug with objects receiving EPERM on HEAD request #2645

Closed
opened 2026-03-04 02:06:35 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/s3fs-fuse/s3fs-fuse/pull/2587
Author: @ggtakec
Created: 11/3/2024
Status: Merged
Merged: 11/4/2024
Merged by: @gaul

Base: masterHead: fix/major_readdir_bug


📝 Commits (1)

  • 17ecf16 Fixed readdir bug with objects receiving EPERM on HEAD request

📊 Changes

1 file changed (+16 additions, -1 deletions)

View changed files

📝 src/curl_multi.cpp (+16 -1)

📄 Description

Relevant Issue (if applicable)

#2535

Details

When listing a directory that contains objects encrypted with KMS, the listing itself fails, and the following message appears:

$ ls
ls: reading directory .: Operation not permitted

This is because if KMS is not specified as SSE or a different KMS ID is specified, the HEAD request for the target object returns EPERM.
This phenomenon occurs because the fix in #2535 changed it to return a multipart request error code.
The fix itself is not wrong, but the problem was realized because the code before the fix did not handle EPERM exceptions.

The problem has been fixed by this PR.
However, since CI testing of SSE (including KMS) is not currently possible, no test code has been added.
(This needs to be considered in the future, but it may be difficult at the moment. It may be possible to test by preparing an object with a pseudo encryption header, but this has not been verified.)

@gaul
This issue occurs when you specify a different key (or do not specify one) for an encrypted object.
This issue may be considered a critical bug.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/s3fs-fuse/s3fs-fuse/pull/2587 **Author:** [@ggtakec](https://github.com/ggtakec) **Created:** 11/3/2024 **Status:** ✅ Merged **Merged:** 11/4/2024 **Merged by:** [@gaul](https://github.com/gaul) **Base:** `master` ← **Head:** `fix/major_readdir_bug` --- ### 📝 Commits (1) - [`17ecf16`](https://github.com/s3fs-fuse/s3fs-fuse/commit/17ecf16e964757353df92e178c16235b15fcc818) Fixed readdir bug with objects receiving EPERM on HEAD request ### 📊 Changes **1 file changed** (+16 additions, -1 deletions) <details> <summary>View changed files</summary> 📝 `src/curl_multi.cpp` (+16 -1) </details> ### 📄 Description ### Relevant Issue (if applicable) #2535 ### Details When listing a directory that contains objects encrypted with KMS, the listing itself fails, and the following message appears: ``` $ ls ls: reading directory .: Operation not permitted ``` This is because if KMS is not specified as SSE or a different KMS ID is specified, the HEAD request for the target object returns EPERM. This phenomenon occurs because the fix in #2535 changed it to return a multipart request error code. The fix itself is not wrong, but the problem was realized because the code before the fix did not handle EPERM exceptions. The problem has been fixed by this PR. However, since CI testing of SSE (including KMS) is not currently possible, no test code has been added. (This needs to be considered in the future, but it may be difficult at the moment. It may be possible to test by preparing an object with a pseudo encryption header, but this has not been verified.) @gaul This issue occurs when you specify a different key (or do not specify one) for an encrypted object. This issue may be considered a critical bug. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-04 02:06:35 +03:00
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#2645
No description provided.