svn commit: r365787 - head/sys/fs/tmpfs

Alexey Dokuchaev danfe at freebsd.org
Fri Jan 1 18:44:00 UTC 2021


On Tue, Sep 15, 2020 at 10:19:16PM +0000, Konstantin Belousov wrote:
> New Revision: 365787
> URL: https://svnweb.freebsd.org/changeset/base/365787
> 
> Log:
>   Add tmpfs page cache read support.
>   
>   Or it could be explained as lockless (for vnode lock) reads.  Reads
>   are performed from the node tn_obj object.  Tmpfs regular vnode object
>   lifecycle is significantly different from the normal OBJT_VNODE: it is
>   alive as far as ref_count > 0.

This causes panics for me when building ports in the tmpfs-backed tinderbox.
Easily reproducible:

1) ./tc tinderbuild ... -b "$@"
2) tail -f .../tmp/make.log4 # on the adjacent console
3) wait until the build job finishes
4) ^C in the "tail" window -> crash
 ...
  __mtx_lock_sleep()
  tmpfs_free_node()
  tmpfs_fo_close()
  _fdrop()
  closef()
  fdescfree_fds()
  fdescfree()
  exit1()
  sigexit()
  postsig()
  ast()
  doreit_ast()

./danfe


More information about the svn-src-all mailing list