mirror of
https://github.com/fsouza/fake-gcs-server.git
synced 2026-04-25 21:55:56 +03:00
[PR #683] [MERGED] Store object data natively and metadata in xattr #823
Labels
No labels
bug
compatibility-issue
docker
documentation
enhancement
help wanted
needs information
pull-request
question
stale
unfortunate
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/fake-gcs-server#823
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/fsouza/fake-gcs-server/pull/683
Author: @gaul
Created: 2/12/2022
Status: ✅ Merged
Merged: 2/15/2022
Merged by: @fsouza
Base:
main← Head:fs/xattr📝 Commits (1)
0e3aff1Store object data natively and metadata in xattr📊 Changes
7 files changed (+119 additions, -10 deletions)
View changed files
📝
fakestorage/bucket_test.go(+10 -1)📝
go.mod(+1 -0)📝
go.sum(+3 -0)📝
internal/backend/backend_test.go(+10 -1)📝
internal/backend/fs.go(+33 -8)➕
internal/backend/xattr_unix.go(+30 -0)➕
internal/backend/xattr_windows.go(+32 -0)📄 Description
The latter remains a JSON-encoded blob but is now stored in file
extended attributes, except on Windows where it is a separate file.
This reduces memory usage and is much faster by avoiding JSON-encoding
large objects. This enables a future commit to avoid reading the
entire object, particularly for range requests. Note that this commit
changes the on-disk format and is not compatible with previous data
sets. Extended attributes have some caveats including lack of tmpfs
and Windows support. References pkg/xattr#47. References #669.
Fixes #671.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.