• Srinivas Eeda's avatar
    ocfs2: use spinlock irqsave for downconvert lock.patch · a75e9cca
    Srinivas Eeda authored
    When ocfs2dc thread holds dc_task_lock spinlock and receives soft IRQ it
    deadlock itself trying to get same spinlock in ocfs2_wake_downconvert_thread.
    Below is the stack snippet.
    
    The patch disables interrupts when acquiring dc_task_lock spinlock.
    
    	ocfs2_wake_downconvert_thread
    	ocfs2_rw_unlock
    	ocfs2_dio_end_io
    	dio_complete
    	.....
    	bio_endio
    	req_bio_endio
    	....
    	scsi_io_completion
    	blk_done_softirq
    	__do_softirq
    	do_softirq
    	irq_exit
    	do_IRQ
    	ocfs2_downconvert_thread
    	[kthread]
    Signed-off-by: default avatarSrinivas Eeda <srinivas.eeda@oracle.com>
    Signed-off-by: default avatarJoel Becker <jlbec@evilplan.org>
    a75e9cca
dlmglue.c 114 KB