version 1.15, 2008/01/30 09:50:23 |
version 1.15.8.1, 2008/05/18 12:35:25 |
Line 266 kernfs_hashinit() |
|
Line 266 kernfs_hashinit() |
|
|
|
mutex_init(&kfs_hashlock, MUTEX_DEFAULT, IPL_NONE); |
mutex_init(&kfs_hashlock, MUTEX_DEFAULT, IPL_NONE); |
mutex_init(&kfs_ihash_lock, MUTEX_DEFAULT, IPL_NONE); |
mutex_init(&kfs_ihash_lock, MUTEX_DEFAULT, IPL_NONE); |
kfs_hashtbl = hashinit(desiredvnodes / 4, HASH_LIST, M_UFSMNT, |
kfs_hashtbl = hashinit(desiredvnodes / 4, HASH_LIST, true, &kfs_ihash); |
M_WAITOK, &kfs_ihash); |
|
} |
} |
|
|
void |
void |
Line 277 kernfs_hashreinit() |
|
Line 276 kernfs_hashreinit() |
|
struct kfs_hashhead *oldhash, *hash; |
struct kfs_hashhead *oldhash, *hash; |
u_long i, oldmask, mask, val; |
u_long i, oldmask, mask, val; |
|
|
hash = hashinit(desiredvnodes / 4, HASH_LIST, M_UFSMNT, M_WAITOK, |
hash = hashinit(desiredvnodes / 4, HASH_LIST, true, &mask); |
&mask); |
|
|
|
mutex_enter(&kfs_ihash_lock); |
mutex_enter(&kfs_ihash_lock); |
oldhash = kfs_hashtbl; |
oldhash = kfs_hashtbl; |
Line 293 kernfs_hashreinit() |
|
Line 291 kernfs_hashreinit() |
|
} |
} |
} |
} |
mutex_exit(&kfs_ihash_lock); |
mutex_exit(&kfs_ihash_lock); |
hashdone(oldhash, M_UFSMNT); |
hashdone(oldhash, HASH_LIST, oldmask); |
} |
} |
|
|
/* |
/* |
|
|
kernfs_hashdone() |
kernfs_hashdone() |
{ |
{ |
|
|
hashdone(kfs_hashtbl, M_UFSMNT); |
hashdone(kfs_hashtbl, HASH_LIST, kfs_ihash); |
mutex_destroy(&kfs_hashlock); |
mutex_destroy(&kfs_hashlock); |
mutex_destroy(&kfs_ihash_lock); |
mutex_destroy(&kfs_ihash_lock); |
} |
} |