Alternative ACL storage #510
Replies: 5 comments 18 replies
-
The xattr design was chosen because it mapped best to the use case for object/bucket metadata. I assumed at the time that xattr support is pretty ubiquitous for modern filesystems. What filesystems are you trying to use that doesn't have this support? It's not a requirement, there could be alternatives for where to store metadata such as special metadata files, external database, etc as you suggest. We would need to give this some thought for this design. It would be tempting to have a Another option is if the specific filesystem that doesn't have xattr support maybe has another method for storing file metadata. Then we could have a new backend specifically for this fs. |
Beta Was this translation helpful? Give feedback.
-
Most of the storage infrastructure available to me uses NFS. Sometime even hidden under a layer of filesystem virtualization. NFS v3 seems to be the most common. In some exceptions there is NFS 4.2 available, with no guarantee that this is going to stay enabled, because there have been some stability issues. So, not a lot of room to maneuver when it comes to storage ... But that's just me. I'm sure most peoples out there don't have that problem ;) |
Beta Was this translation helpful? Give feedback.
-
@static-moonlight The PR that added the metadata abstraction layer got merged. Here is a proposed possibility for an alternative to xattrs storage: #522. Would you be interested in testing this to see what you think? |
Beta Was this translation helpful? Give feedback.
-
I see ...
Those metadata files are scattered around. I would not do that. I recommend concentrating them in a single folder. Consider this: versitygw has no idea, what else is happening with file system. Data synchronization, sharing with other applications, ... And since this could be anything it is hard to say how those other applications and systems would react to these "littered" files, to do whatever they are supposed to do without accidentally processing vgw's metadata files. It seems easier to handle such potential issues, by having just one single location to worry about, or at the very least: as little as possible (there seems to be a I think it might also be a good idea to have a list in the documentation with all hidden (dot) files/folders which are being used by versitygw, to maximize transparency and therefore compatibility with other systems. Maybe even with a suggestion if those files should be included in backups or not (I think But back to topic: Aside from the details: It seems to work good. In my case |
Beta Was this translation helpful? Give feedback.
-
@static-moonlight branch updated with changes requested. This adds a top level dir to store metadata separately:
The option is changed to |
Beta Was this translation helpful? Give feedback.
-
I have to admit, I like this project, but no matter where I go: the main reason why I have to repeatedly rule out versitygw is almost always the same: the requirement for extended attributes.
I'm sure that at some point during development you have thought about this. I'm sure you have good reasons why you decided to make them a requirement. However, if the architecture allows it, I'd love to see alternative ways to let versity gateway store the information (just acl?) that are currently written to extended file attributes. Even if that would reduce performance. In the simplest case maybe a file or a set of files somewhere?!
idk ... what do you think?
Beta Was this translation helpful? Give feedback.
All reactions