sonar

Scan files at memory bandwidth speed.
Log | Files | Refs

DateCommit messageAuthorFiles+-
2026-09-24 10:54sonar: test every imported package in one runJack Mordaunt1+3-6
2026-09-24 09:51sonar: follow the collection rename from jfm to jmJack Mordaunt4+7-7
2026-09-23 23:41sonar: import flow from the jfm collectionJack Mordaunt7+4-710
2026-09-23 19:26sonar: import the debug allocator from the jfm collectionJack Mordaunt3+6-1393
2026-09-23 17:59sonar: replace makefile with justfileJack Mordaunt2+72-54
2026-09-20 19:43main: charge the tree once, however it was readJack Mordaunt1+14-38
2026-09-20 19:27scan: move the snapshot to the package that uses itJack Mordaunt7+120-121
2026-09-20 19:18main: reach the tree through the fill that is filling itJack Mordaunt2+8-8
2026-09-20 19:06walk: name the entry point for what it readsJack Mordaunt4+34-32
2026-09-20 19:02scan: widen file-private helpers to the packageJack Mordaunt4+14-14
2026-09-20 18:54main: run a reader from one placeJack Mordaunt3+195-194
2026-09-20 18:11main: let any reader fill a live scanJack Mordaunt9+338-147
2026-09-20 17:47scan: choose a reader from whether the volume opensJack Mordaunt5+125-69
2026-09-20 17:26main: parse the command line with core:flagsJack Mordaunt1+43-57
2026-09-20 17:22main: say what TOP_N countsJack Mordaunt1+2-1
2026-09-20 17:17flow: stop the manage tests racing on one thread's arenaJack Mordaunt1+24-2
2026-09-20 17:15style: run odinfmt over the repositoryJack Mordaunt17+698-209
2026-09-20 17:11build: settle the formatting rules in the repositoryJack Mordaunt1+8-0
2026-09-20 17:09style: run odinfmt over the files this branch touchedJack Mordaunt11+145-50
2026-09-20 12:49build: run the walk testsJack Mordaunt1+1-0
2026-09-20 12:49walk: test what a walk recordsJack Mordaunt2+224-0
2026-09-20 12:46walk: read directories with linux syscallsJack Mordaunt3+190-70
2026-09-20 12:45walk: read a directory behind a seamJack Mordaunt2+116-56
2026-09-20 12:08scan: resolve a target on unixJack Mordaunt4+229-16
2026-09-20 12:07scan: name the top of a target and the path below itJack Mordaunt2+28-5
2026-09-20 12:07scan: build paths with the host's separatorJack Mordaunt2+15-6
2026-09-20 11:33ntfs: test the unix volume against an image fileJack Mordaunt1+95-0
2026-09-20 11:32ntfs: read volumes on unixJack Mordaunt1+69-10
2026-09-20 11:29walk: drop the allocator nobody readsJack Mordaunt1+2-3
2026-09-20 11:26walk: drop the error a directory that will not open never raisesJack Mordaunt1+0-1
2026-09-20 10:44main: refuse an option it does not understandJack Mordaunt1+27-13
2026-09-20 10:43main: stop a parent chain that leaves the treeJack Mordaunt1+5-2
2026-09-20 10:43main: stop emptying the tree under the thread reading itJack Mordaunt1+4-2
2026-09-20 10:43ntfs: put extra names at a fixed slot so a replay repeats itselfJack Mordaunt1+10-10
2026-09-20 10:42main: free the table when projecting it failsJack Mordaunt1+5-3
2026-09-20 10:41walk: free the directories a stopped scan never reachedJack Mordaunt1+10-1
2026-09-20 10:40flow: hand back the work a stopped run never tookJack Mordaunt1+19-0
2026-09-20 10:39scan: answer the elevation question on every platformJack Mordaunt1+12-0
2026-09-18 20:57flow: let the manager judge a failed itemJack Mordaunt3+90-34
2026-09-18 20:57walk: free a directory path when the scan is cancelledJack Mordaunt1+1-1
2026-09-18 17:21walk: traverse with manage instead of roundsJack Mordaunt1+31-44
2026-09-18 17:21flow: add the manager shape for work that discovers itselfJack Mordaunt3+276-2
2026-09-18 17:04scan: give the snapshot retry count a reasonJack Mordaunt2+57-8
2026-09-18 16:54main: move the graph work onto a builder threadJack Mordaunt3+180-108
2026-09-18 16:54scan: publish snapshots so a frame never waits on a buildJack Mordaunt1+58-0
2026-09-18 16:31main: time each phase of a simulated frameJack Mordaunt1+10-4
2026-09-18 16:28main: keep directory totals across frames instead of rebuilding themJack Mordaunt7+235-35
2026-09-18 16:05ntfs: let a scan be watched while it runs, and watch oneJack Mordaunt5+259-41
2026-09-18 15:55main: let the walker's width be set from the command lineJack Mordaunt2+7-3
2026-09-18 15:47main: report from the tree rather than the tableJack Mordaunt1+126-104
2026-09-18 15:47ntfs: project the table into the shared treeJack Mordaunt1+66-0
2026-09-18 15:47walk: add a portable directory readerJack Mordaunt2+200-1
2026-09-18 15:47scan: add the tree every reader writes intoJack Mordaunt2+353-0
2026-09-18 15:32main: resolve the target before choosing a readerJack Mordaunt1+31-7
2026-09-18 15:32scan: add the seam between readers and the treeJack Mordaunt6+309-1
2026-09-18 14:38ntfs: pass each the same load the workers were sized withJack Mordaunt1+3-1
2026-09-18 14:34main: expose the reader's knobsJack Mordaunt1+17-6
2026-09-18 14:34ntfs: read the MFT in parallelJack Mordaunt3+284-82
2026-09-18 14:34ntfs: let a volume be reopened for concurrent readsJack Mordaunt2+35-7
2026-09-18 14:21flow: add a package for this project's concurrency shapesJack Mordaunt3+333-2
2026-09-18 13:19ntfs: skip dead record runs using $MFT's own bitmapJack Mordaunt4+259-47
2026-09-18 12:11ntfs: read the volume unbuffered, with a flag to compareJack Mordaunt4+42-14
2026-09-18 12:01main: report where scan time goesJack Mordaunt3+22-0
2026-09-18 11:53main: check the attributed sum against $BitmapJack Mordaunt1+21-1
2026-09-18 11:53ntfs: count allocated clusters from $BitmapJack Mordaunt4+145-0
2026-09-18 11:53ntfs: count files whose data lives inside their MFT recordJack Mordaunt2+34-5
2026-09-17 11:31build: run debug and test targets under AddressSanitizerJack Mordaunt1+10-5
2026-09-17 11:31debug: poison guards and freed blocks for AddressSanitizerJack Mordaunt1+122-4
2026-09-17 01:39ntfs: size decoded run lists to their length before returningJack Mordaunt1+3-0
2026-09-17 01:37debug: replace lifetime allocator with a bug-finding debug allocatorJack Mordaunt4+957-344
2026-09-17 01:22build: replace build.cmd with a Makefile writing to build/Jack Mordaunt2+45-24
2026-09-17 01:18build: add build script with debug, release, test, and check targetsJack Mordaunt1+24-0
2026-09-17 01:18main: print largest files and directories from the MFTJack Mordaunt1+200-0
2026-09-17 01:18ntfs: measure allocation from run lists instead of header sizesJack Mordaunt5+109-34
2026-09-17 01:15ntfs: add parser testsJack Mordaunt1+444-0
2026-09-17 01:15ntfs: read $MFT from a Windows volume or imageJack Mordaunt3+310-0
2026-09-17 01:15ntfs: build entry table from recordsJack Mordaunt1+264-0
2026-09-17 01:15ntfs: parse FILE records and attributesJack Mordaunt1+333-0
2026-09-17 01:15ntfs: decode run listsJack Mordaunt1+90-0
2026-09-17 01:15ntfs: parse the boot sectorJack Mordaunt1+87-0
2026-09-17 01:15ntfs: add package doc, error type, and file referencesJack Mordaunt1+107-0
2026-09-17 01:15lifetime: add debug allocator with grouped leak reportJack Mordaunt1+337-0
2026-09-17 01:15build: ignore compiler outputsJack Mordaunt1+8-0