Thread (34 messages) 34 messages, 7 authors, 2015-12-18

Re: rhashtable: Prevent spurious EBUSY errors on insertion

From: Herbert Xu <herbert@gondor.apana.org.au>
Date: 2015-12-17 08:48:23
Also in: lkml, oe-lkp

On Thu, Dec 17, 2015 at 04:46:00PM +0800, Xin Long wrote:
sorry for late test, but unfortunately, my case with rhashtalbe still
return EBUSY.
I added some debug code in rhashtable_insert_rehash(), and found:
*future_tbl is null*

fail:
        /* Do not fail the insert if someone else did a rehash. */
        if (likely(rcu_dereference_raw(tbl->future_tbl))) {
                printk("future_tbl is there\n");
                return 0;
        } else {
                printk("future_tbl is null\n");
        }

any idea why ?
That's presumably because you got a genuine double rehash.

Until you post your code we can't really help you.

Cheers,
-- 
Email: Herbert Xu [off-list ref]
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help