)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"0e1c8f1d492ea224ac7b4956c472f7c712560d76","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"refactor(tvix/castore/fs): set sane default option flags"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Sets some sane default caching options and flags for tvix_castore::fs::TvixStoreFs, greatly reducing latency on cache hits."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: Ie105249fc92f56604e7c337d5983e4038b775f42"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"a9b3536d_ebe66872","line":9,"updated":"2025-01-16 07:50:09.000000000","message":"we\u0027re referring to kernel caches here, correct?\n\nI found some background reading material on each of these flags:\n\nhttps://libfuse.github.io/doxygen/fuse__common_8h.html#aac172aaeb6d27e2fdcafd086f9f3c0cf\n\nWe\u0027d still need to check which of these are safe to enable.","commit_id":"6088865356235aae0fcae112bf40957d22bf080c"},{"author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"109bbb8d27d13f42c45e7550e96adffc6f2c2151","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"refactor(tvix/castore/fs): set sane default option flags"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Sets some sane default caching options and flags for tvix_castore::fs::TvixStoreFs, greatly reducing latency on cache hits."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: Ie105249fc92f56604e7c337d5983e4038b775f42"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"38a6ec58_1359d505","line":9,"in_reply_to":"2bc78568_6a1ecc8c","updated":"2025-01-16 20:51:56.000000000","message":"can you add these references to the commit message, and maybe some more small comments next to where we set FsOptions and OpenOptions?","commit_id":"6088865356235aae0fcae112bf40957d22bf080c"},{"author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"a7ee82fc124fc52087a65181f20874e33302f2ab","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"refactor(tvix/castore/fs): set sane default option flags"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Sets some sane default caching options and flags for tvix_castore::fs::TvixStoreFs, greatly reducing latency on cache hits."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: Ie105249fc92f56604e7c337d5983e4038b775f42"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9f667d01_e8979743","line":9,"in_reply_to":"38a6ec58_1359d505","updated":"2025-03-13 14:21:10.000000000","message":"I added the some comments to the commit message and where the options are being set. I also added DO_READDIRPLUS and READDIRPLUS_AUTO.","commit_id":"6088865356235aae0fcae112bf40957d22bf080c"},{"author":{"_account_id":1000167,"name":"Victor Fuentes","display_name":"VlinkZ","email":"vlinkz@snowflakeos.org","username":"vlinkz"},"change_message_id":"114c65f24ffe2960ff51b4ed4852369d43fc4f45","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"refactor(tvix/castore/fs): set sane default option flags"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Sets some sane default caching options and flags for tvix_castore::fs::TvixStoreFs, greatly reducing latency on cache hits."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: Ie105249fc92f56604e7c337d5983e4038b775f42"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"2bc78568_6a1ecc8c","line":9,"in_reply_to":"a9b3536d_ebe66872","updated":"2025-01-16 17:35:30.000000000","message":"Yes, there\u0027s kernel documentation here as well:\nhttps://man7.org/linux/man-pages/man4/fuse.4.html\nAnd more details on each option:\nhttps://docs.rs/fuse-backend-rs/latest/fuse_backend_rs/abi/fuse_abi/struct.FsOptions.html","commit_id":"6088865356235aae0fcae112bf40957d22bf080c"}],"tvix/castore/src/fs/mod.rs":[{"author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"0e1c8f1d492ea224ac7b4956c472f7c712560d76","unresolved":true,"context_lines":[{"line_number":323,"context_line":""},{"line_number":324,"context_line":"    fn init(\u0026self, _capable: FsOptions) -\u003e io::Result\u003cFsOptions\u003e {"},{"line_number":325,"context_line":"        Ok(FsOptions::ASYNC_READ"},{"line_number":326,"context_line":"            | FsOptions::AUTO_INVAL_DATA"},{"line_number":327,"context_line":"            | FsOptions::READDIRPLUS_AUTO"},{"line_number":328,"context_line":"            | FsOptions::PARALLEL_DIROPS"},{"line_number":329,"context_line":"            | FsOptions::CACHE_SYMLINKS"}],"source_content_type":"text/x-rustsrc","patch_set":2,"id":"ec7594a9_49b87a25","line":326,"updated":"2025-01-16 07:50:09.000000000","message":"this looks like it makes performance worse. we don\u0027t want to issue getattr calls, we don\u0027t expect files to change.","commit_id":"6088865356235aae0fcae112bf40957d22bf080c"},{"author":{"_account_id":1000167,"name":"Victor Fuentes","display_name":"VlinkZ","email":"vlinkz@snowflakeos.org","username":"vlinkz"},"change_message_id":"114c65f24ffe2960ff51b4ed4852369d43fc4f45","unresolved":false,"context_lines":[{"line_number":323,"context_line":""},{"line_number":324,"context_line":"    fn init(\u0026self, _capable: FsOptions) -\u003e io::Result\u003cFsOptions\u003e {"},{"line_number":325,"context_line":"        Ok(FsOptions::ASYNC_READ"},{"line_number":326,"context_line":"            | FsOptions::AUTO_INVAL_DATA"},{"line_number":327,"context_line":"            | FsOptions::READDIRPLUS_AUTO"},{"line_number":328,"context_line":"            | FsOptions::PARALLEL_DIROPS"},{"line_number":329,"context_line":"            | FsOptions::CACHE_SYMLINKS"}],"source_content_type":"text/x-rustsrc","patch_set":2,"id":"3dcdfba9_05a92dac","line":326,"in_reply_to":"ec7594a9_49b87a25","updated":"2025-01-16 17:35:30.000000000","message":"Done","commit_id":"6088865356235aae0fcae112bf40957d22bf080c"},{"author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"0e1c8f1d492ea224ac7b4956c472f7c712560d76","unresolved":true,"context_lines":[{"line_number":324,"context_line":"    fn init(\u0026self, _capable: FsOptions) -\u003e io::Result\u003cFsOptions\u003e {"},{"line_number":325,"context_line":"        Ok(FsOptions::ASYNC_READ"},{"line_number":326,"context_line":"            | FsOptions::AUTO_INVAL_DATA"},{"line_number":327,"context_line":"            | FsOptions::READDIRPLUS_AUTO"},{"line_number":328,"context_line":"            | FsOptions::PARALLEL_DIROPS"},{"line_number":329,"context_line":"            | FsOptions::CACHE_SYMLINKS"},{"line_number":330,"context_line":"            | FsOptions::EXPLICIT_INVAL_DATA)"}],"source_content_type":"text/x-rustsrc","patch_set":2,"id":"04ef4066_5e13a781","line":327,"updated":"2025-01-16 07:50:09.000000000","message":"I don\u0027t think we need this one? I think we do the same requests in both readdir and readdirplus. or does this make a difference as we don\u0027t need to process the getattr calls anymore?","commit_id":"6088865356235aae0fcae112bf40957d22bf080c"},{"author":{"_account_id":1000167,"name":"Victor Fuentes","display_name":"VlinkZ","email":"vlinkz@snowflakeos.org","username":"vlinkz"},"change_message_id":"114c65f24ffe2960ff51b4ed4852369d43fc4f45","unresolved":false,"context_lines":[{"line_number":324,"context_line":"    fn init(\u0026self, _capable: FsOptions) -\u003e io::Result\u003cFsOptions\u003e {"},{"line_number":325,"context_line":"        Ok(FsOptions::ASYNC_READ"},{"line_number":326,"context_line":"            | FsOptions::AUTO_INVAL_DATA"},{"line_number":327,"context_line":"            | FsOptions::READDIRPLUS_AUTO"},{"line_number":328,"context_line":"            | FsOptions::PARALLEL_DIROPS"},{"line_number":329,"context_line":"            | FsOptions::CACHE_SYMLINKS"},{"line_number":330,"context_line":"            | FsOptions::EXPLICIT_INVAL_DATA)"}],"source_content_type":"text/x-rustsrc","patch_set":2,"id":"546ae8f9_2dadb291","line":327,"in_reply_to":"04ef4066_5e13a781","updated":"2025-01-16 17:35:30.000000000","message":"Done","commit_id":"6088865356235aae0fcae112bf40957d22bf080c"},{"author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"0e1c8f1d492ea224ac7b4956c472f7c712560d76","unresolved":true,"context_lines":[{"line_number":327,"context_line":"            | FsOptions::READDIRPLUS_AUTO"},{"line_number":328,"context_line":"            | FsOptions::PARALLEL_DIROPS"},{"line_number":329,"context_line":"            | FsOptions::CACHE_SYMLINKS"},{"line_number":330,"context_line":"            | FsOptions::EXPLICIT_INVAL_DATA)"},{"line_number":331,"context_line":"    }"},{"line_number":332,"context_line":""},{"line_number":333,"context_line":"    #[tracing::instrument(skip_all, fields(rq.inode \u003d inode))]"}],"source_content_type":"text/x-rustsrc","patch_set":2,"id":"05c4fe4d_4e4570aa","line":330,"updated":"2025-01-16 07:50:09.000000000","message":"not sure about this one. (how) is the listing of the root in the mountpoint cached and invalidated? Technically we do support new store paths popping up, so I want to ensure this listing doesn\u0027t get cached (at least not for long).\n\nI see we return different OpenOptions for opendir, but do we need this and the FsOption?","commit_id":"6088865356235aae0fcae112bf40957d22bf080c"},{"author":{"_account_id":1000167,"name":"Victor Fuentes","display_name":"VlinkZ","email":"vlinkz@snowflakeos.org","username":"vlinkz"},"change_message_id":"114c65f24ffe2960ff51b4ed4852369d43fc4f45","unresolved":false,"context_lines":[{"line_number":327,"context_line":"            | FsOptions::READDIRPLUS_AUTO"},{"line_number":328,"context_line":"            | FsOptions::PARALLEL_DIROPS"},{"line_number":329,"context_line":"            | FsOptions::CACHE_SYMLINKS"},{"line_number":330,"context_line":"            | FsOptions::EXPLICIT_INVAL_DATA)"},{"line_number":331,"context_line":"    }"},{"line_number":332,"context_line":""},{"line_number":333,"context_line":"    #[tracing::instrument(skip_all, fields(rq.inode \u003d inode))]"}],"source_content_type":"text/x-rustsrc","patch_set":2,"id":"bd735ca7_77fb1406","line":330,"in_reply_to":"05c4fe4d_4e4570aa","updated":"2025-01-16 17:35:30.000000000","message":"Seems like it\u0027s not necessary for now. Probably a better solution in the future would be use `AUTO_INVAL_DATA` and set some kind of configurable timeout for cache invalidations.","commit_id":"6088865356235aae0fcae112bf40957d22bf080c"}]}
