You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**Root Cause:** The `// SAFETY:` comment was placed before the `#[expect(unsafe_code)]` attribute rather than immediately before the `unsafe { ... }` block. Clippy's `undocumented_unsafe_blocks` lint requires the safety comment to be on the line immediately preceding the unsafe block.
26
+
27
+
**Fix:** Moved the safety comment to be immediately before the `unsafe { ... }` block (after the `#[expect]` attribute).
28
+
29
+
---
30
+
31
+
## Pipeline Run 2
32
+
33
+
**Additional Fixes Applied:**
34
+
1.`MftReader::open_sync` → `MftReader::open` (4 occurrences in cache.rs and reader.rs)
35
+
2. Added `#[derive(Debug)]` to `MftRecordMerger` struct in parse.rs
**Goal**: Remove "cargo-cult" async from MftReader and update callers
6
+
7
+
## Summary
8
+
9
+
Refactored the `MftReader` API to remove fake async methods that were just thin wrappers over sync code. Made methods sync where they should be, kept async where it's legitimate (spawn_blocking).
10
+
11
+
## What Changed
12
+
13
+
### MftReader API (crates/uffs-mft/src/reader.rs)
14
+
15
+
#### Made Sync (were fake async):
16
+
-`MftReader::open()` - Now sync, was async with no await
17
+
-`MftReader::read_all()` - Now sync, was async with no await
18
+
-`MftReader::read_with_progress()` - Now sync, was async with no await
19
+
-`MftReader::read_with_timing()` - Now sync, was async with no await
20
+
-`MftReader::read_raw()` - Now sync, was async with no await
21
+
-`MftReader::save_raw_to_file()` - Now sync, was async with no await
22
+
23
+
#### Removed:
24
+
-`open_sync()`, `read_all_sync()`, `read_with_progress_sync()` - Merged into primary methods
Copy file name to clipboardExpand all lines: README.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,7 +21,7 @@ Traditional file search tools (including `os.walk`, `FindFirstFile`, etc.) work
21
21
22
22
**UFFS reads the MFT directly** - once - and queries it in memory using Polars DataFrames. This is like reading the entire phonebook once instead of looking up each name individually.
23
23
24
-
### Benchmark Results (v0.2.202)
24
+
### Benchmark Results (v0.2.203)
25
25
26
26
| Drive Type | Records | Time | Throughput |
27
27
|------------|---------|------|------------|
@@ -33,7 +33,7 @@ Traditional file search tools (including `os.walk`, `FindFirstFile`, etc.) work
33
33
34
34
| Comparison | Records | Time | Notes |
35
35
|------------|---------|------|-------|
36
-
|**UFFS v0.2.202**|**18.7 Million**|**~142 seconds**| All disks, fast mode |
36
+
|**UFFS v0.2.203**|**18.7 Million**|**~142 seconds**| All disks, fast mode |
0 commit comments