Skip to content

Align ctime/atime with mtime in inode attrs#17

Open
ThoolooExpress wants to merge 1 commit intocloudflare:mainfrom
ThoolooExpress:richard.morrill/fix-git-status-shows-all
Open

Align ctime/atime with mtime in inode attrs#17
ThoolooExpress wants to merge 1 commit intocloudflare:mainfrom
ThoolooExpress:richard.morrill/fix-git-status-shows-all

Conversation

@ThoolooExpress
Copy link
Copy Markdown

@ThoolooExpress ThoolooExpress commented May 4, 2026

Partial fix for #16.

Mirror mtime onto atime and ctime in FUSE inode attrs. Leaving them as time.Time{} produces a year-1 zero that overflows when serialized into the FUSE attr struct, and a ctime that disagrees with what git stored makes git's stat-cache treat every base file as potentially modified.

This addresses one of two causes of the "all files modified on fresh blobless-clone mount" symptom. The size=0 cause and the slowness of git's resulting content-check pass are addressed in follow-up PRs.

🤖 Partially created with Claude code

Mirror `mtime` onto `atime` and `ctime` in FUSE inode attrs. Leaving them as `time.Time{}` produces a year-1 zero that overflows when serialized into the FUSE attr struct, and a `ctime` that disagrees with what git stored makes git's stat-cache treat every base file as potentially modified.

This addresses one of two causes of the "all files modified on fresh blobless-clone mount" symptom. The size=0 cause and the slowness of git's resulting content-check pass are addressed in follow-up PRs.
@ThoolooExpress ThoolooExpress force-pushed the richard.morrill/fix-git-status-shows-all branch from b02a691 to c8c0c29 Compare May 4, 2026 19:11
@ThoolooExpress ThoolooExpress changed the title fix: git status shows all files modified on fresh blobless-clone mount Align ctime/atime with mtime in inode attrs May 4, 2026
@ThoolooExpress ThoolooExpress marked this pull request as ready for review May 4, 2026 20:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants