From 790362e8f8eabd1bdf75f98328daf94cf623c600 Mon Sep 17 00:00:00 2001 From: Marios Titas Date: Tue, 21 Jul 2026 20:27:38 +0300 Subject: fusefrontend: expose birth time via statx Forward the backing filesystem's STATX_BTIME on Linux while preserving existing metadata translations and fallback behavior. On Linux 6.6 and newer, this allows statx consumers such as GNU stat to report birth time when the backing filesystem provides it. Older kernels and backing filesystems without birth-time support retain the existing behavior. No on-disk format change or migration is required. Reverse mode remains unchanged. Fixes #868. Related context: #732 --- internal/fusefrontend/node_helpers.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'internal/fusefrontend/node_helpers.go') diff --git a/internal/fusefrontend/node_helpers.go b/internal/fusefrontend/node_helpers.go index 96c0961..3102275 100644 --- a/internal/fusefrontend/node_helpers.go +++ b/internal/fusefrontend/node_helpers.go @@ -53,9 +53,9 @@ func (n *Node) readlink(dirfd int, cName string) (out []byte, errno syscall.Errn return []byte(target), 0 } -// translateSize translates the ciphertext size in `out` into plaintext size. +// translateSize translates the ciphertext size cSize into plaintext size. // Handles regular files & symlinks (and finds out what is what by looking at -// `out.Mode`). +// mode). func (n *Node) translateSize(dirfd int, cName string, mode uint32, cSize uint64) (pSize uint64) { switch mode & syscall.S_IFMT { case syscall.S_IFREG: -- cgit v1.2.3