[Bug 261434] [fusefs] change mtime and ctime on every read file

From: <bugzilla-noreply_at_freebsd.org>
Date: Mon, 24 Jan 2022 17:45:05 UTC

            Bug ID: 261434
           Summary: [fusefs] change mtime and ctime on every read file
           Product: Base System
           Version: 13.0-STABLE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: kern
          Assignee: bugs@FreeBSD.org
          Reporter: rozhuk.im@gmail.com

Remote fs mounted with:
sshfs -v -f -d -o dir_cache=yes -o workaround=readdir -o allow_other
root@ /home/rim/mnt/tmp

cat /home/rim/mnt/tmp/SOME_FILE > /dev/null

produces sshfs traffic:

[00037] LSTAT
  [00037]          ATTRS       41bytes (0ms)
[00038] LSTAT
  [00038]          ATTRS       41bytes (0ms)
[00039] OPEN
[00040] LSTAT
  [00039]         HANDLE       17bytes (0ms)
  [00040]          ATTRS       41bytes (0ms)
[00041] READ
  [00041]           DATA      761bytes (0ms)
[00042] SETSTAT
  [00042]         STATUS       28bytes (0ms)
[00043] LSTAT
  [00043]          ATTRS       41bytes (0ms)
[00044] CLOSE
  [00044]         STATUS       28bytes (0ms)

ls /home/rim/mnt/tmp/SOME_FILE
show current time after that.

This is not now it should work.
I have remote /ports mounted and many files opened with geany, and I got "file
changed, reload?" message every time on geany get focus.
Geany check mtime on focus get, then on reload it stores mtime that was before
file was read. Fuse+sshfs change mtime after every read, so it never stop to
prompt me to reload file.

I try mount old year old ubuntu and issue exist, so it is not in openssh.
sshfs does not changed in past half year.

-o noatime - workaround for this.

I suppose this happen after this PR: https://reviews.freebsd.org/D33145

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