> 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