On Wed, Mar 28, 2018 at 08:34:19AM +1100, NeilBrown wrote: > > It is easy to get an -EBUSY insertion failure when .disable_count is > enabled, and I did get that. Blindly propagating that up caused lustre > to get terribly confused - not too surprising really.
Right, so this failure mode is specific to your patch 6. I think I see the problem. As it currently stands, we never need growing when we hit the bucket length limit. We only do rehashes. With your patch, you must change it so that we actually try to grow the table if necessary when we hit the bucket length limit. Otherwise it will result in the EBUSY that you're seeing. I laso think that we shouldn't make this a toggle. If we're going to do disable_count then it should be unconditionally done for everyone. However, I personally would prefer a percpu elem count instead of disabling it completely. Would that be acceptable to your use-case? Cheers, -- Email: Herbert Xu <herb...@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt