public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] fix nasty quota hashtable allocation bug
@ 2007-08-05 21:06 Eric Sandeen
  0 siblings, 0 replies; only message in thread
From: Eric Sandeen @ 2007-08-05 21:06 UTC (permalink / raw)
  To: xfs-oss

This git mod: 77e4635ae191774526ed695482a151ac986f3806

converted to a "greedy" allocation interface, but for the quota hashtables
it switched from allocating XFS_QM_HASHSIZE (nr of elements) xfs_dqhash_t's 
to  allocating only XFS_QM_HASHSIZE *bytes* - quite a lot smaller!  Then when 
we  converted hsize "back" to nr of elements (the division line) hsize went 
to 0. This was  leading to oopses when running any quota tests on the Fedora 8
test  kernel, but the problem has been there for almost a year.

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>

Index: linux-2.6.22-rc4/fs/xfs/quota/xfs_qm.c
===================================================================
--- linux-2.6.22-rc4.orig/fs/xfs/quota/xfs_qm.c
+++ linux-2.6.22-rc4/fs/xfs/quota/xfs_qm.c
@@ -117,7 +117,8 @@ xfs_Gqm_init(void)
 	 * Initialize the dquot hash tables.
 	 */
 	udqhash = kmem_zalloc_greedy(&hsize,
-				     XFS_QM_HASHSIZE_LOW, XFS_QM_HASHSIZE_HIGH,
+				     XFS_QM_HASHSIZE_LOW * sizeof(xfs_dqhash_t),
+				     XFS_QM_HASHSIZE_HIGH * sizeof(xfs_dqhash_t),
 				     KM_SLEEP | KM_MAYFAIL | KM_LARGE);
 	gdqhash = kmem_zalloc(hsize, KM_SLEEP | KM_LARGE);
 	hsize /= sizeof(xfs_dqhash_t);

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2007-08-05 21:06 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-08-05 21:06 [PATCH] fix nasty quota hashtable allocation bug Eric Sandeen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox