HomeFreeBSD

Rewrite the fuse interface to the device:
rS238693Unpublished

Unpublished Commit ยท Learn More

No further details are available.

Description

Rewrite the fuse interface to the device:

  • Remove entirely the usage of interface cloning
  • Reimplement the passing of fdata using the devfs_*_cdevpriv interface
  • Implement a real refcounting for the fdata objects representing the former check on mnt and drv1 members

This requires that mount_fusefs now passes the filedescriptor number
when trying to mount a specific filesystem instance. Also, now all the
devices will open /dev/fuse specifically and nothing else.

This avoids some nasty races in the device cloning entries reusing from
the cloning list or alternatively a big wastage of memory in situations
where filesystems are frequently unmounted and mounted on long-running
systems.

Reported by: pho
Tested by: pho

Details

Provenance
attilioAuthored on
Parents
rS238692: - Add a lock assert
Branches
Unknown
Tags
Unknown

Event Timeline