From: "Aneesh Kumar K.V" Subject: circular locking dependency detected Date: Fri, 30 Nov 2007 13:04:46 +0530 Message-ID: <20071130073446.GA7864@skywalker> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: lkml To: ext4 development Return-path: Received: from e28smtp01.in.ibm.com ([59.145.155.1]:44120 "EHLO e28smtp01.in.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756652AbXK3HfR (ORCPT ); Fri, 30 Nov 2007 02:35:17 -0500 Content-Disposition: inline Sender: linux-ext4-owner@vger.kernel.org List-Id: linux-ext4.vger.kernel.org ======================================================= [ INFO: possible circular locking dependency detected ] 2.6.24-rc3 #6 ------------------------------------------------------- bash/2294 is trying to acquire lock: (&journal->j_list_lock){--..}, at: [] journal_try_to_free_buffers+0x76/0x10c but task is already holding lock: (inode_lock){--..}, at: [] drop_pagecache+0x48/0xd8 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #1 (inode_lock){--..}: [] __lock_acquire+0xa31/0xc1a [] lock_acquire+0x7a/0x94 [] _spin_lock+0x2e/0x58 [] __mark_inode_dirty+0xd8/0x15e [] __set_page_dirty+0xfb/0x10a [] mark_buffer_dirty+0x80/0x86 [] __journal_temp_unlink_buffer+0xc1/0xc5 [] __journal_unfile_buffer+0xb/0x15 [] __journal_refile_buffer+0x3b/0x85 [] journal_commit_transaction+0xe7f/0x10ec [] kjournald+0x131/0x35f [] kthread+0x3b/0x62 [] kernel_thread_helper+0x7/0x10 [] 0xffffffff -> #0 (&journal->j_list_lock){--..}: [] __lock_acquire+0x921/0xc1a [] lock_acquire+0x7a/0x94 [] _spin_lock+0x2e/0x58 [] journal_try_to_free_buffers+0x76/0x10c [] ext3_releasepage+0x68/0x74 [] try_to_release_page+0x33/0x44 [] __invalidate_mapping_pages+0x74/0xe0 [] drop_pagecache+0x70/0xd8 [] drop_caches_sysctl_handler+0x36/0x4e [] proc_sys_write+0x6b/0x85 [] vfs_write+0x90/0x119 [] sys_write+0x3d/0x61 [] sysenter_past_esp+0x5f/0xa5 [] 0xffffffff other info that might help us debug this: 2 locks held by bash/2294: #0: (&type->s_umount_key#16){----}, at: [] drop_pagecache+0x38/0xd8 #1: (inode_lock){--..}, at: [] drop_pagecache+0x48/0xd8 stack backtrace: [] show_trace_log_lvl+0x1a/0x2f [] show_trace+0x12/0x14 [] dump_stack+0x16/0x18 [] print_circular_bug_tail+0x5f/0x68 [] __lock_acquire+0x921/0xc1a [] lock_acquire+0x7a/0x94 [] _spin_lock+0x2e/0x58 [] journal_try_to_free_buffers+0x76/0x10c [] ext3_releasepage+0x68/0x74 [] try_to_release_page+0x33/0x44 [] __invalidate_mapping_pages+0x74/0xe0 [] drop_pagecache+0x70/0xd8 [] drop_caches_sysctl_handler+0x36/0x4e [] proc_sys_write+0x6b/0x85 [] vfs_write+0x90/0x119 [] sys_write+0x3d/0x61 [] sysenter_past_esp+0x5f/0xa5 =======================