troubling / hummingbird

Scalable Object Storage - No longer under active development
Apache License 2.0
43 stars 29 forks source link

in-memory xattrs for testing #13

Open redbo opened 7 years ago

redbo commented 7 years ago

We could add an environment variable that causes xattrs to be stored in a memory mapping instead of using on-disk metadata. I think if it was keyed on like {inode, creation time}, that would be enough to work.

Well, an environment variable seems reasonable to me, but feel free to interpret this as making the xattr implementation switchable somehow.

Then we wouldn't be testing the few lines of actual xattr code, but it would let hummingbird run easily in docker. So something like Circle CI would work.

redbo commented 7 years ago

This is so much harder than I thought it would be. There's basically no generic way to uniquely identify a file - ctimes aren't what I thought they were, inodes get reused constantly, crtimes only work on extfs (and certainly not within docker), tracking files by filename doesn't work because we rename after setting xattrs.