> Message: 1
> Date: Fri, 12 Jan 2018 06:15:01 +0000
> From: Shichangkuo <shi.chang...@h3c.com>
> Subject: Re: [Ocfs2-devel] [Ocfs2-dev] BUG: deadlock with umount and
>       ocfs2 workqueue triggered by ocfs2rec thread
> To: Joseph Qi <jiangqi...@gmail.com>, "z...@suse.com" <z...@suse.com>,
>       "j...@suse.cz" <j...@suse.cz>
> Cc: "ocfs2-devel@oss.oracle.com" <ocfs2-devel@oss.oracle.com>
> Message-ID:
>       <d1e4d02760513d4b90dc3b40ff32af35e22ec...@h3cmlb14-ex.srv.huawe
> i-3com.com>
> 
> Content-Type: text/plain; charset="gb2312"
> 
> Hi Joseph
>     Thanks for replying.
>     Umount will flush the ocfs2 workqueue in function
> ocfs2_truncate_log_shutdown and journal recovery is one work of ocfs2 wq.
> 
> Thanks
> Changkuo
> 

Umount 
  mngput
   cleanup_mnt 
         deactivate_super:   down_write the rw_semaphore:  
down_write(&s->s_umount)
            deactivate_locked_super
                  kill_sb: kill_block_super
                        generic_shutdown_super
                                put_super : ocfs2_put_supe
                                        ocfs2_dismount_volume
                                                ocfs2_truncate_log_shutdown 
                                                        
flush_workqueue(osb->ocfs2_wq);
                                                                
ocfs2_finish_quota_recovery
                                                                        
down_read(&sb->s_umount); 
                                                                         Here 
retry down_read rw_semaphore; down read while holding write?  Try rw_semaphore 
twice, dead lock ?
                                         The flush work queue of ocfs2_wq will 
be blocked, so as the umount ops.  

Thanks. 


_______________________________________________
Ocfs2-devel mailing list
Ocfs2-devel@oss.oracle.com
https://oss.oracle.com/mailman/listinfo/ocfs2-devel

Reply via email to