[Ocfs2-devel] [PATCH 1/1] ocfs2: use spinlock irqsave for downconvert lock.patch
Li Zefan
lizefan at huawei.com
Wed Jul 4 01:00:43 PDT 2012
On 2012/7/4 15:32, Joel Becker wrote:
> On Mon, Jan 30, 2012 at 09:51:22PM -0800, Srinivas Eeda wrote:
>> 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: Srinivas Eeda <srinivas.eeda at oracle.com>
>
> This patch is now (finally) part of the 'fixes' branch of ocfs2.git.
>
Recently we hit this bug too, and planned to send exactly the same fix..
More information about the Ocfs2-devel
mailing list