Commit 039ddc7
v2/blockstore: add ReadWrite.Discard
This allows closing a read-write blockstore without doing the extra work
to finalize its header and index. Can be useful if an entire piece of
work is cancelled, and also simplifies the tests.
Also make ReadOnly error in a straightforward way if it is used after
being closed. Before, this could lead to panics, as we'd attempt to read
the CARv1 file when it's closed.
Both mechanisms now use a "closed" boolean, which is consistent and
simpler than checking a header field.
Finally, add tests that ensure both ReadOnly and ReadWrite behave as
intended once they have been closed.
The tests also uncovered that AllKeysChan would not release the mutex if
it encountered an error early on. Fix that, too.
While at it, fix some now-obsolete references to panics on unsupported
or after-close method calls.
Fixes #205.1 parent 6c87996 commit 039ddc7
File tree
6 files changed
+175
-79
lines changed- v2/blockstore
6 files changed
+175
-79
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
14 | | - | |
| 14 | + | |
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| |||
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
| 30 | + | |
30 | 31 | | |
31 | 32 | | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | | - | |
41 | | - | |
42 | | - | |
43 | | - | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | | - | |
51 | | - | |
52 | | - | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
53 | 58 | | |
54 | | - | |
55 | | - | |
| 59 | + | |
56 | 60 | | |
57 | 61 | | |
58 | 62 | | |
| |||
177 | 181 | | |
178 | 182 | | |
179 | 183 | | |
180 | | - | |
| 184 | + | |
181 | 185 | | |
182 | 186 | | |
183 | 187 | | |
| |||
187 | 191 | | |
188 | 192 | | |
189 | 193 | | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
190 | 198 | | |
191 | 199 | | |
192 | 200 | | |
| |||
223 | 231 | | |
224 | 232 | | |
225 | 233 | | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
226 | 238 | | |
227 | 239 | | |
228 | 240 | | |
| |||
263 | 275 | | |
264 | 276 | | |
265 | 277 | | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
266 | 282 | | |
267 | 283 | | |
268 | 284 | | |
| |||
329 | 345 | | |
330 | 346 | | |
331 | 347 | | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
332 | 351 | | |
333 | 352 | | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
334 | 358 | | |
335 | 359 | | |
336 | 360 | | |
337 | 361 | | |
| 362 | + | |
338 | 363 | | |
339 | 364 | | |
340 | 365 | | |
341 | 366 | | |
| 367 | + | |
342 | 368 | | |
343 | 369 | | |
344 | 370 | | |
| |||
347 | 373 | | |
348 | 374 | | |
349 | 375 | | |
| 376 | + | |
350 | 377 | | |
351 | 378 | | |
352 | 379 | | |
| |||
424 | 451 | | |
425 | 452 | | |
426 | 453 | | |
| 454 | + | |
427 | 455 | | |
428 | 456 | | |
429 | | - | |
430 | | - | |
| 457 | + | |
431 | 458 | | |
432 | 459 | | |
433 | 460 | | |
| |||
436 | 463 | | |
437 | 464 | | |
438 | 465 | | |
| 466 | + | |
439 | 467 | | |
440 | 468 | | |
441 | 469 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
101 | 101 | | |
102 | 102 | | |
103 | 103 | | |
104 | | - | |
| 104 | + | |
105 | 105 | | |
106 | 106 | | |
107 | 107 | | |
| |||
235 | 235 | | |
236 | 236 | | |
237 | 237 | | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
26 | | - | |
27 | | - | |
28 | 26 | | |
29 | 27 | | |
30 | 28 | | |
| |||
33 | 31 | | |
34 | 32 | | |
35 | 33 | | |
36 | | - | |
| 34 | + | |
37 | 35 | | |
38 | 36 | | |
39 | 37 | | |
| |||
62 | 60 | | |
63 | 61 | | |
64 | 62 | | |
65 | | - | |
| 63 | + | |
66 | 64 | | |
67 | 65 | | |
68 | 66 | | |
| |||
287 | 285 | | |
288 | 286 | | |
289 | 287 | | |
290 | | - | |
291 | | - | |
292 | | - | |
293 | | - | |
294 | 288 | | |
295 | 289 | | |
296 | | - | |
| 290 | + | |
297 | 291 | | |
298 | 292 | | |
299 | 293 | | |
300 | 294 | | |
301 | 295 | | |
302 | 296 | | |
303 | | - | |
304 | | - | |
305 | | - | |
306 | | - | |
307 | 297 | | |
308 | 298 | | |
309 | 299 | | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
310 | 304 | | |
311 | 305 | | |
312 | 306 | | |
| |||
331 | 325 | | |
332 | 326 | | |
333 | 327 | | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
334 | 341 | | |
335 | 342 | | |
336 | | - | |
| 343 | + | |
337 | 344 | | |
338 | | - | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
339 | 349 | | |
340 | 350 | | |
341 | | - | |
| 351 | + | |
342 | 352 | | |
343 | 353 | | |
344 | | - | |
345 | | - | |
346 | 354 | | |
347 | 355 | | |
348 | 356 | | |
349 | 357 | | |
350 | 358 | | |
351 | | - | |
352 | | - | |
353 | 359 | | |
354 | 360 | | |
355 | 361 | | |
| |||
360 | 366 | | |
361 | 367 | | |
362 | 368 | | |
363 | | - | |
364 | | - | |
365 | | - | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
366 | 372 | | |
367 | | - | |
368 | | - | |
369 | | - | |
| 373 | + | |
| 374 | + | |
370 | 375 | | |
| 376 | + | |
| 377 | + | |
371 | 378 | | |
| 379 | + | |
372 | 380 | | |
373 | 381 | | |
374 | 382 | | |
375 | 383 | | |
376 | | - | |
377 | | - | |
378 | | - | |
379 | | - | |
380 | 384 | | |
381 | 385 | | |
382 | 386 | | |
383 | 387 | | |
384 | | - | |
385 | | - | |
386 | | - | |
387 | | - | |
388 | 388 | | |
389 | 389 | | |
390 | 390 | | |
391 | 391 | | |
392 | | - | |
393 | | - | |
394 | | - | |
395 | | - | |
396 | 392 | | |
397 | 393 | | |
398 | 394 | | |
| |||
0 commit comments