svn commit: r280308 - head/sys/fs/devfs

Jilles Tjoelker jilles at stack.nl
Sun Mar 29 17:51:42 UTC 2015


On Sun, Mar 22, 2015 at 11:25:07AM -0700, Don Lewis wrote:
> It's not totally worthless.  I think the mtime on tty devices is used to
> calculate the idle time that is printed by the w command.  We just don't
> need nanosecond accuracy for that.

Hmm. The idle time on tty devices breaking is a clear POLA violation,
but I'm not sure what's the best way to fix it. By the way, w uses atime
and who -u uses mtime.

Some options are:

* Bypass vfs_timestamp() and hard-code second accuracy in devfs;
  futimens() will still set timestamps to the nanosecond, even with
  UTIME_NOW. A timestamp update after UTIME_NOW setting may set back the
  timestamp to an older value.

* Make vfs.timestamp_precision filesystem-specific. Since this does not
  affect futimens() with explicit timestamps, it will not cause strange
  situations with cp -p.

* Restrict file times on devfs to seconds.

* Somehow add a special case for TTY devices so they will always keep
  timestamps.

* Somehow add a special case for "performance-critical" devices so they
  will not keep timestamps.

* Change the default for vfs.timestamp_precision to 1, which still
  provides non-zero nanoseconds (so much of the same bugs) but is not so
  slow. The file server people won't like this though.

My proposal for delayed updates as in UFS clearly does not work for TTY
idle times, so there is no point in that.

-- 
Jilles Tjoelker


More information about the svn-src-head mailing list