Commit a3e7c1f
committed
Optimize path handling to eliminate getcwd() syscalls in async operations
This commit adds path canonicalization at all database and storage initialization
points to eliminate repeated getcwd() syscalls during async file operations.
Path canonicalization changes:
- main.rs: Canonicalize fs_root and meta_root at server startup
- cas/fs.rs: Canonicalize paths in CasFS::new() and new_multi_user()
- cas/shared_block_store.rs: Canonicalize path in SharedBlockStore::new()
These changes ensure all paths are absolute before being passed to fjall/async-fs,
avoiding ~95ns getcwd() overhead per file operation in async context.
Additional improvements:
- inspect.rs: Enhanced multi-user support with user stats, bucket stats, and listing
- http_ui: Improved pagination and admin user support
- metastore: Added helper methods for user statistics1 parent 38d7ee3 commit a3e7c1f
File tree
9 files changed
+743
-44
lines changed- src
- cas
- http_ui
- metastore
9 files changed
+743
-44
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
132 | 132 | | |
133 | 133 | | |
134 | 134 | | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
135 | 144 | | |
136 | 145 | | |
137 | 146 | | |
| |||
190 | 199 | | |
191 | 200 | | |
192 | 201 | | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
193 | 210 | | |
194 | 211 | | |
195 | 212 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
37 | 42 | | |
38 | 43 | | |
39 | 44 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
| 51 | + | |
| 52 | + | |
51 | 53 | | |
52 | 54 | | |
53 | 55 | | |
| |||
115 | 117 | | |
116 | 118 | | |
117 | 119 | | |
118 | | - | |
119 | | - | |
120 | | - | |
121 | | - | |
122 | | - | |
123 | | - | |
124 | | - | |
125 | | - | |
126 | | - | |
127 | | - | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
128 | 128 | | |
129 | 129 | | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
130 | 143 | | |
131 | 144 | | |
132 | 145 | | |
133 | 146 | | |
134 | 147 | | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
135 | 151 | | |
136 | 152 | | |
137 | | - | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
138 | 160 | | |
139 | 161 | | |
140 | 162 | | |
| |||
146 | 168 | | |
147 | 169 | | |
148 | 170 | | |
149 | | - | |
| 171 | + | |
150 | 172 | | |
151 | 173 | | |
152 | | - | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
153 | 181 | | |
154 | 182 | | |
155 | 183 | | |
| |||
160 | 188 | | |
161 | 189 | | |
162 | 190 | | |
| 191 | + | |
| 192 | + | |
163 | 193 | | |
164 | 194 | | |
165 | 195 | | |
| |||
170 | 200 | | |
171 | 201 | | |
172 | 202 | | |
| 203 | + | |
| 204 | + | |
173 | 205 | | |
174 | 206 | | |
175 | 207 | | |
176 | 208 | | |
177 | 209 | | |
178 | 210 | | |
| 211 | + | |
| 212 | + | |
179 | 213 | | |
180 | 214 | | |
181 | 215 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
213 | 213 | | |
214 | 214 | | |
215 | 215 | | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
216 | 233 | | |
217 | 234 | | |
218 | 235 | | |
| |||
1270 | 1287 | | |
1271 | 1288 | | |
1272 | 1289 | | |
| 1290 | + | |
| 1291 | + | |
| 1292 | + | |
| 1293 | + | |
| 1294 | + | |
| 1295 | + | |
| 1296 | + | |
| 1297 | + | |
| 1298 | + | |
| 1299 | + | |
| 1300 | + | |
| 1301 | + | |
1273 | 1302 | | |
1274 | 1303 | | |
1275 | 1304 | | |
| |||
1365 | 1394 | | |
1366 | 1395 | | |
1367 | 1396 | | |
| 1397 | + | |
| 1398 | + | |
| 1399 | + | |
| 1400 | + | |
1368 | 1401 | | |
1369 | 1402 | | |
0 commit comments