[XFS] Add a greedy allocation interface, allocating within a min/max size
range. SGI-PV: 955302 SGI-Modid: xfs-linux-melb:xfs-kern:26803a Signed-off-by: Nathan Scott <nathans@sgi.com> Signed-off-by: Tim Shimmin <tes@sgi.com>
Šī revīzija ir iekļauta:

revīziju iesūtīja
Tim Shimmin

vecāks
572d95f49f
revīzija
77e4635ae1
@@ -112,17 +112,16 @@ xfs_Gqm_init(void)
|
||||
{
|
||||
xfs_dqhash_t *udqhash, *gdqhash;
|
||||
xfs_qm_t *xqm;
|
||||
uint i, hsize, flags = KM_SLEEP | KM_MAYFAIL | KM_LARGE;
|
||||
uint i, hsize;
|
||||
|
||||
/*
|
||||
* Initialize the dquot hash tables.
|
||||
*/
|
||||
hsize = XFS_QM_HASHSIZE_HIGH;
|
||||
while (!(udqhash = kmem_zalloc(hsize * sizeof(*udqhash), flags))) {
|
||||
if ((hsize >>= 1) <= XFS_QM_HASHSIZE_LOW)
|
||||
flags = KM_SLEEP;
|
||||
}
|
||||
gdqhash = kmem_zalloc(hsize * sizeof(*gdqhash), KM_SLEEP | KM_LARGE);
|
||||
udqhash = kmem_zalloc_greedy(&hsize,
|
||||
XFS_QM_HASHSIZE_LOW, XFS_QM_HASHSIZE_HIGH,
|
||||
KM_SLEEP | KM_MAYFAIL | KM_LARGE);
|
||||
gdqhash = kmem_zalloc(hsize, KM_SLEEP | KM_LARGE);
|
||||
hsize /= sizeof(xfs_dqhash_t);
|
||||
ndquot = hsize << 8;
|
||||
|
||||
xqm = kmem_zalloc(sizeof(xfs_qm_t), KM_SLEEP);
|
||||
|
Atsaukties uz šo jaunā problēmā
Block a user