public inbox for linux-fsdevel@vger.kernel.org
 help / color / mirror / Atom feed
* [RFC] FUSE: support for file_flags and birthtime (FreeBSD use case)
@ 2026-03-20  9:06 Raghav
  2026-03-21  6:00 ` Jingbo Xu
  0 siblings, 1 reply; 3+ messages in thread
From: Raghav @ 2026-03-20  9:06 UTC (permalink / raw)
  To: linux-fsdevel

Hi all,

I’m a new contributor working on improving fusefs in FreeBSD, and I'm
bringing up an issue in FUSEFS.

FreeBSD supports file flags modification with chflags(2) and file
creation time (st_birthtime) at the VFS level. But, these are not
currently supported by the FUSE protocol.
As a result, fusefs on FreeBSD cannot expose or preserve these attributes.

I think we need to append struct fuse_attr with:
uint32_t file_flags;
uint64_t birthtime;
uint32_t birthtimensec;
Handling them in a backward compatible way.

Is extending fuse_attr in this way acceptable? If so, I’d be happy to
make the changes and follow up with a patch.


Thanks
- Raghav

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [RFC] FUSE: support for file_flags and birthtime (FreeBSD use case)
  2026-03-20  9:06 [RFC] FUSE: support for file_flags and birthtime (FreeBSD use case) Raghav
@ 2026-03-21  6:00 ` Jingbo Xu
  2026-03-23  6:35   ` Raghav
  0 siblings, 1 reply; 3+ messages in thread
From: Jingbo Xu @ 2026-03-21  6:00 UTC (permalink / raw)
  To: Raghav, linux-fsdevel



On 3/20/26 5:06 PM, Raghav wrote:
> Hi all,
> 
> I’m a new contributor working on improving fusefs in FreeBSD, and I'm
> bringing up an issue in FUSEFS.
> 
> FreeBSD supports file flags modification with chflags(2) and file
> creation time (st_birthtime) at the VFS level. But, these are not
> currently supported by the FUSE protocol.
> As a result, fusefs on FreeBSD cannot expose or preserve these attributes.
> 
> I think we need to append struct fuse_attr with:
> uint32_t file_flags;
> uint64_t birthtime;
> uint32_t birthtimensec;
> Handling them in a backward compatible way.
> 
> Is extending fuse_attr in this way acceptable? If so, I’d be happy to
> make the changes and follow up with a patch.
> 

FUSE supports statx(2) with FUSE_STATX, which exposes btime.

-- 
Thanks,
Jingbo


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [RFC] FUSE: support for file_flags and birthtime (FreeBSD use case)
  2026-03-21  6:00 ` Jingbo Xu
@ 2026-03-23  6:35   ` Raghav
  0 siblings, 0 replies; 3+ messages in thread
From: Raghav @ 2026-03-23  6:35 UTC (permalink / raw)
  To: Jingbo Xu, linux-fsdevel

Hi Jingbo,

Thanks, I’ll look into FUSE_STATX.

for file flags (chflags), I don’t see an equivalent in the current
FUSE protocol. Do you think we could extend the protocol to support
file flags?

On Sat, Mar 21, 2026 at 11:30 AM Jingbo Xu <jefflexu@linux.alibaba.com> wrote:
>
>
>
> On 3/20/26 5:06 PM, Raghav wrote:
> > Hi all,
> >
> > I’m a new contributor working on improving fusefs in FreeBSD, and I'm
> > bringing up an issue in FUSEFS.
> >
> > FreeBSD supports file flags modification with chflags(2) and file
> > creation time (st_birthtime) at the VFS level. But, these are not
> > currently supported by the FUSE protocol.
> > As a result, fusefs on FreeBSD cannot expose or preserve these attributes.
> >
> > I think we need to append struct fuse_attr with:
> > uint32_t file_flags;
> > uint64_t birthtime;
> > uint32_t birthtimensec;
> > Handling them in a backward compatible way.
> >
> > Is extending fuse_attr in this way acceptable? If so, I’d be happy to
> > make the changes and follow up with a patch.
> >
>
> FUSE supports statx(2) with FUSE_STATX, which exposes btime.
>
> --
> Thanks,
> Jingbo
>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-03-23  6:35 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-20  9:06 [RFC] FUSE: support for file_flags and birthtime (FreeBSD use case) Raghav
2026-03-21  6:00 ` Jingbo Xu
2026-03-23  6:35   ` Raghav

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox