svn commit: r253276 - head/sys/fs/fuse

Gleb Kurtsou gleb at freebsd.org
Sat Jul 13 17:44:35 UTC 2013


On (12/07/2013 17:22), Pedro F. Giffuni wrote:
> Author: pfg
> Date: Fri Jul 12 17:22:59 2013
> New Revision: 253276
> URL: http://svnweb.freebsd.org/changeset/base/253276
> 
> Log:
>   Add creation timestamp (birthtime) support for fuse.
>   
>   This is based on similar support in MacFUSE.

Looks like it breaks backward compatibility, do we want to preserve it
taking into account that there was on fusefs official release as part of
base but we had fuse in ports for a while?

fusefs-libs seems to have its own version of fuse_kernel.h.

There are fuse file system implementations that skip libfuse entirely
(glusterfs? I'm not sure).

At least we should have bumped fuse version..

Thanks,
Gleb.

> 
> Modified:
>   head/sys/fs/fuse/fuse_internal.h
>   head/sys/fs/fuse/fuse_kernel.h
> 
> Modified: head/sys/fs/fuse/fuse_internal.h
> ==============================================================================
> --- head/sys/fs/fuse/fuse_internal.h	Fri Jul 12 17:11:30 2013	(r253275)
> +++ head/sys/fs/fuse/fuse_internal.h	Fri Jul 12 17:22:59 2013	(r253276)
> @@ -223,6 +223,8 @@ fuse_internal_attr_fat2vat(struct mount 
>      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);
>  
> 
> Modified: head/sys/fs/fuse/fuse_kernel.h
> ==============================================================================
> --- head/sys/fs/fuse/fuse_kernel.h	Fri Jul 12 17:11:30 2013	(r253275)
> +++ head/sys/fs/fuse/fuse_kernel.h	Fri Jul 12 17:22:59 2013	(r253276)
> @@ -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;


More information about the svn-src-all mailing list