Page MenuHomeFreeBSD

free export structures when a file system is dismounted
ClosedPublic

Authored by rmacklem on Feb 4 2023, 9:50 PM.
Tags
None
Referenced Files
F102593819: D38385.diff
Thu, Nov 14, 1:11 PM
Unknown Object (File)
Thu, Oct 31, 9:23 PM
Unknown Object (File)
Mon, Oct 28, 6:41 AM
Unknown Object (File)
Fri, Oct 18, 3:38 PM
Unknown Object (File)
Sep 24 2024, 7:22 AM
Unknown Object (File)
Sep 23 2024, 6:08 PM
Unknown Object (File)
Sep 23 2024, 11:15 AM
Unknown Object (File)
Sep 22 2024, 6:53 PM
Subscribers

Details

Summary

During testing of exporting file systems in jails, I
noticed that the export structures on a mount
were not being free'd when the mount is dismounted.

This bug appears to have been in the system for a
very long time. It would have resulted in a slow memory
leak when exported file systems were dismounted.

Prior to r362158, freeing the structures during dismount
would not have been safe, since VFS_CHECKEXP() returned
a pointer into an export structure, which might still be used
by the NFS server for an in-progress RPC when the file system
is dismounted. r362158 fixed this, so it should now be safe
to free the structures in vfs_mount_destroy(), which is what
this patch does.

Test Plan

Monitored export structure allocation via "vmstat -m"
before and after doing a umount of an exported file
system.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped