Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 Sep 2023 20:54:44 +0000
From:      bugzilla-noreply@freebsd.org
To:        fs@FreeBSD.org
Subject:   [Bug 273942] fusefs(5): read operation changes ctime on FUSE filesystems
Message-ID:  <bug-273942-3630-wcovRlyRNf@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-273942-3630@https.bugs.freebsd.org/bugzilla/>
References:  <bug-273942-3630@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D273942

--- Comment #7 from Alan Somers <asomers@FreeBSD.org> ---
When a FUSE file system uses the data cache, then the FUSE daemon cannot ha=
ndle
atime updates itself, because a read may be serviced by cache.  In such a c=
ase,
the OS must issue the atime updates.

If the data cache is not enabled, but atime and the attribute cache are, th=
en
the OS has a choice.  Either it can track atime updates itself, or it can a=
sk
the server, which causes a new FUSE_GETATTR request after every read.  That
kind of defeats the purpose of the attribute cache.

It seems to me that if the OS sends a FUSE_SETATTR with the valid field set=
 to
FATTR_ATIME, then the server should not update the CTIME.  Do you disagree?=
=20
Fir if the atime update actually came from userland, for example from
utimensat(), then the FATTR_CTIME bit will be set, too.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-273942-3630-wcovRlyRNf>