Still not sure if this is correct. Putting printf("===> mnt_ref: %d\n", mp->mnt_ref);
right after the MNT_REL() call in fuse_vfsop_unmount() prints "3" for a successfull unmounting case.
If I remove the vfs_ref() call from the destructor, the unmounting after KILL hangs with mnt_ref=2.
Which makes me think that all this change is pointless as there should be no difference between 2 and 3
as "good" value for mnt_ref.