Whamcloud - gitweb
b=22359 fix t_id for the recovery thread
authorAlexander.Zarochentsev <Alexander.Zarochentsev@sun.com>
Fri, 9 Apr 2010 01:24:01 +0000 (18:24 -0700)
committerRobert Read <robert.read@oracle.com>
Fri, 9 Apr 2010 01:24:01 +0000 (18:24 -0700)
arbitrary uninialized value in the recovery thread t_id
was the reason of filter_iobuf_get()) ASSERTION(thread_id <
filter->fo_iobuf_count) failure.

i=tappro
i=andrew.perepechko

lustre/ldlm/ldlm_lib.c

index 0e0ccab..3b4479b 100644 (file)
@@ -1725,6 +1725,7 @@ static int target_recovery_thread(void *arg)
                 RETURN(rc);
 
         thread->t_env = &env;
                 RETURN(rc);
 
         thread->t_env = &env;
+        thread->t_id = -1; /* force filter_iobuf_get/put to use local buffers */
         env.le_ctx.lc_thread = thread;
 
         CERROR("%s: started recovery thread pid %d\n", obd->obd_name,
         env.le_ctx.lc_thread = thread;
 
         CERROR("%s: started recovery thread pid %d\n", obd->obd_name,