mirror of
https://github.com/versity/scoutfs.git
synced 2026-02-04 09:42:06 +00:00
c415cab1e9575b1eeff6670d1eef766034e0f94e
Using strictly coherent btree items to map the hash of xattr names to inode numbers proved the value of the functionality, but it was too expensive. We now have the more efficient srch infrastructure to use. We change from the .indx. to the .srch. tag, and change the ioctl from find_xattr to search_xattrs. The idea is to communicate that these are accelerated searches, not precise index lookups and are relatively expensive. Rather than maintaining btree items, xattr setting and deleting emits srch entries which either tracks the xattr or combines with the previous tracker and removes the entry. These are done under the lock that protects the main xattr item, we can remove the separate locking of the previous index items. The semantics of the search ioctl needs to change a bit. Because searches are so expensive we now return a flag to indicate that the search completed. While we're there, we also allow a last_ino parameter so that searches can be divided up and run in parallel. Signed-off-by: Zach Brown <zab@versity.com>
Description
No description provided
Languages
C
87%
Shell
9.3%
Roff
2.5%
TeX
0.8%
Makefile
0.4%