Date: Wed, 28 Mar 2007 13:21:21 -0400 From: Aniruddha Bohra <bohra@cs.rutgers.edu> To: freebsd-fs@freebsd.org, =?ISO-8859-1?Q?Dag-Erling_Sm=F8rgrav?= <des@des.no> Subject: Pseudofs question Message-ID: <460AA411.3010904@cs.rutgers.edu>
next in thread | raw e-mail | index | archive | help
Hi, Pseudofs handles the fileno allocation and deallocation using alloc_unr() and free_unr(). The fileno is allocated on demand when vn_readdir is called (pseudofs_vnops.c). However, I could not find the deallocation in pseudofs. So, when I unload my fs module, I get a crash with the unit busy: kern/subr_unit.c:321 KASSERT(uh->busy == 0, ("unrhdr has %u allocations", uh->busy)); This is a good kassert as the pfs_fileno_free is never called. Actually, the module unload function calls _fsname_uninit() which calls pfs_uninit() which calls pfs_fileno_uninit(pi) without first destroying the file system or deallocating any allocated unit numbers. Am I missing something obvious in my implementation since I do not see a similar crash with procfs :( Thanks Aniruddha
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?460AA411.3010904>