From 944d37b123fc4d85f41e0f1e48d0a5f93bed4b4d Mon Sep 17 00:00:00 2001 From: "Pedro F. Giffuni" Date: Fri, 12 Jul 2013 17:22:59 +0000 Subject: [PATCH] Add creation timestamp (birthtime) support for fuse. This is based on similar support in MacFUSE. --- sys/fs/fuse/fuse_internal.h | 2 ++ sys/fs/fuse/fuse_kernel.h | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/sys/fs/fuse/fuse_internal.h b/sys/fs/fuse/fuse_internal.h index 187245cbd90..d29fd3068d3 100644 --- a/sys/fs/fuse/fuse_internal.h +++ b/sys/fs/fuse/fuse_internal.h @@ -223,6 +223,8 @@ fuse_internal_attr_fat2vat(struct mount *mp, vap->va_mtime.tv_nsec = fat->mtimensec; vap->va_ctime.tv_sec = fat->ctime; vap->va_ctime.tv_nsec = fat->ctimensec; + vap->va_birthtime.tv_sec = fat->crtime; + vap->va_birthtime.tv_nsec = fat->crtimensec; vap->va_blocksize = PAGE_SIZE; vap->va_type = IFTOVT(fat->mode); diff --git a/sys/fs/fuse/fuse_kernel.h b/sys/fs/fuse/fuse_kernel.h index 07cd4a99958..b76a5a7befe 100644 --- a/sys/fs/fuse/fuse_kernel.h +++ b/sys/fs/fuse/fuse_kernel.h @@ -69,9 +69,15 @@ struct fuse_attr { __u64 atime; __u64 mtime; __u64 ctime; +#ifdef __FreeBSD__ + __u64 crtime; +#endif __u32 atimensec; __u32 mtimensec; __u32 ctimensec; +#ifdef __FreeBSD__ + __u32 crtimensec; +#endif __u32 mode; __u32 nlink; __u32 uid;