mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-23 02:44:41 +03:00
* : modules/sys/kmem-slab.c : Re-implemented the slab to no
longer be based on the linux slab but to be its own complete implementation. The new slab behaves much more like the Solaris slab than the Linux slab. git-svn-id: https://outreach.scidac.gov/svn/spl/trunk@132 7e1ea52c-4ff2-0310-8f11-9dd32ca42a1c
This commit is contained in:
@@ -130,7 +130,7 @@ static int __init spl_init(void)
|
||||
if ((rc = debug_init()))
|
||||
return rc;
|
||||
|
||||
if ((rc = kmem_init()))
|
||||
if ((rc = spl_kmem_init()))
|
||||
GOTO(out , rc);
|
||||
|
||||
if ((rc = spl_mutex_init()))
|
||||
@@ -159,7 +159,7 @@ out4:
|
||||
out3:
|
||||
spl_mutex_fini();
|
||||
out2:
|
||||
kmem_fini();
|
||||
spl_kmem_fini();
|
||||
out:
|
||||
debug_fini();
|
||||
|
||||
@@ -176,7 +176,8 @@ static void spl_fini(void)
|
||||
kstat_fini();
|
||||
proc_fini();
|
||||
vn_fini();
|
||||
kmem_fini();
|
||||
spl_mutex_fini();
|
||||
spl_kmem_fini();
|
||||
debug_fini();
|
||||
}
|
||||
|
||||
|
||||
+588
-453
File diff suppressed because it is too large
Load Diff
@@ -633,7 +633,7 @@ void
|
||||
vn_fini(void)
|
||||
{
|
||||
file_t *fp, *next_fp;
|
||||
int rc, leaked = 0;
|
||||
int leaked = 0;
|
||||
ENTRY;
|
||||
|
||||
spin_lock(&vn_file_lock);
|
||||
@@ -644,19 +644,14 @@ vn_fini(void)
|
||||
leaked++;
|
||||
}
|
||||
|
||||
rc = kmem_cache_destroy(vn_file_cache);
|
||||
if (rc)
|
||||
CWARN("Warning leaked vn_file_cache objects, %d\n", rc);
|
||||
|
||||
kmem_cache_destroy(vn_file_cache);
|
||||
vn_file_cache = NULL;
|
||||
spin_unlock(&vn_file_lock);
|
||||
|
||||
if (leaked > 0)
|
||||
CWARN("Warning %d files leaked\n", leaked);
|
||||
|
||||
rc = kmem_cache_destroy(vn_cache);
|
||||
if (rc)
|
||||
CWARN("Warning leaked vn_cache objects, %d\n", rc);
|
||||
kmem_cache_destroy(vn_cache);
|
||||
|
||||
EXIT;
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user