[Lustre-discuss] Looping in __d_lookup

Jakob Goldbach jakob at goldbach.dk
Tue Jun 3 15:19:26 PDT 2008


> On Wed, 2008-05-21 at 21:05 +0200, Jakob Goldbach wrote:
> > 
> > So the lockup in __d_lookup may just relate to newer patchless clients. 
> > 

I got rid of my dcache chain corruption by adding patch below and
exporting _d_rehash from kernel (offcourse, no longer patchless). 

Could this fix a race in patchless code ? 

/Jakob

p.s: A kind soul came up with this. Im not a kernel hacker. 


--- ./lustre/llite/dcache.c.xxx	2007-09-27 16:04:08.000000000 +0400
+++ ./lustre/llite/dcache.c	2008-05-29 11:53:07.000000000 +0400
@@ -470,8 +470,8 @@ revalidate_finish:
         spin_lock(&dcache_lock);
         lock_dentry(de);
         __d_drop(de);
+        _d_rehash(de);
         unlock_dentry(de);
-        __d_rehash(de, 0);
         spin_unlock(&dcache_lock);






More information about the lustre-discuss mailing list