From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joel Becker Date: Wed, 24 Mar 2010 15:01:39 -0700 Subject: [Ocfs2-devel] lockdep warning in ocfs2 quota Message-ID: <20100324220138.GA14310@mail.oracle.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: ocfs2-devel@oss.oracle.com Jan, I got this on an ocfs2 filesystem with quota features enabled (but quota enforcement not turned on). Non-clustered ocfs2. Fresh mkfs. Untarring a kernel tree. Joel ======================================================= [ INFO: possible circular locking dependency detected ] 2.6.34-rc1-kvm #179 ------------------------------------------------------- tar/2546 is trying to acquire lock: (&s->s_dquot.dqio_mutex){+.+...}, at: [] dquot_commit+0x26/0xc8 but task is already holding lock: (&s->s_dquot.dqptr_sem){++++..}, at: [] dquot_alloc_inode+0x63/0x133 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #3 (&s->s_dquot.dqptr_sem){++++..}: [] __lock_acquire+0x10ad/0x139e [] lock_acquire+0x97/0xbb [] down_read+0x31/0x45 [] dquot_alloc_inode+0x63/0x133 [] ocfs2_mknod+0x728/0xd8c [ocfs2] [] ocfs2_mkdir+0x77/0xcd [ocfs2] [] vfs_mkdir+0x66/0xc9 [] sys_mkdirat+0x7f/0xba [] sys_mkdir+0x15/0x17 [] syscall_call+0x7/0xb -> #2 (jbd2_handle){+.+...}: [] __lock_acquire+0x10ad/0x139e [] lock_acquire+0x97/0xbb [] start_this_handle+0x370/0x38f [jbd2] [] jbd2_journal_start+0xa5/0xd1 [jbd2] [] ocfs2_start_trans+0xa5/0x178 [ocfs2] [] ocfs2_modify_bh+0x2e/0x207 [ocfs2] [] ocfs2_local_read_info+0x608/0x72c [ocfs2] [] vfs_load_quota_inode+0x2a7/0x497 [] vfs_quota_enable+0xdb/0xe8 [] ocfs2_enable_quotas+0x82/0x146 [ocfs2] [] ocfs2_fill_super+0x149f/0x1759 [ocfs2] [] get_sb_bdev+0xf3/0x130 [] ocfs2_get_sb+0x18/0x1a [ocfs2] [] vfs_kern_mount+0x53/0xb4 [] do_kern_mount+0x38/0xc2 [] do_mount+0x66c/0x6cb [] sys_mount+0x66/0x94 [] syscall_call+0x7/0xb -> #1 (&journal->j_trans_barrier){.+.+..}: [] __lock_acquire+0x10ad/0x139e [] lock_acquire+0x97/0xbb [] down_read+0x31/0x45 [] ocfs2_start_trans+0x9b/0x178 [ocfs2] [] ocfs2_global_read_dquot+0x163/0x265 [ocfs2] [] ocfs2_local_read_dquot+0x73/0xb42 [ocfs2] [] dquot_acquire+0x51/0xde [] ocfs2_acquire_dquot+0x8c/0xee [ocfs2] [] dqget+0x293/0x2cb [] __dquot_initialize+0x7c/0x155 [] dquot_initialize+0x10/0x12 [] ocfs2_get_init_inode+0xdf/0xe9 [ocfs2] [] ocfs2_mknod+0x358/0xd8c [ocfs2] [] ocfs2_mkdir+0x77/0xcd [ocfs2] [] vfs_mkdir+0x66/0xc9 [] sys_mkdirat+0x7f/0xba [] sys_mkdir+0x15/0x17 [] syscall_call+0x7/0xb -> #0 (&s->s_dquot.dqio_mutex){+.+...}: [] __lock_acquire+0xdfc/0x139e [] lock_acquire+0x97/0xbb [] mutex_lock_nested+0x3f/0x275 [] dquot_commit+0x26/0xc8 [] ocfs2_write_dquot+0x108/0x167 [ocfs2] [] ocfs2_mark_dquot_dirty+0xc4/0x28f [ocfs2] [] dquot_alloc_inode+0xf3/0x133 [] ocfs2_mknod+0x728/0xd8c [ocfs2] [] ocfs2_mkdir+0x77/0xcd [ocfs2] [] vfs_mkdir+0x66/0xc9 [] sys_mkdirat+0x7f/0xba [] sys_mkdir+0x15/0x17 [] syscall_call+0x7/0xb other info that might help us debug this: 7 locks held by tar/2546: #0: (&sb->s_type->i_mutex_key#13/1){+.+.+.}, at: [] lookup_create+0x23/0x7f #1: (&ocfs2_sysfile_lock_key[args->fi_sysfile_type]#2){+.+.+.}, at: [] ocfs2_reserve_suballoc_bits+0x102/0xe09 [ocfs2] #2: (&ocfs2_sysfile_lock_key[args->fi_sysfile_type]#5){+.+.+.}, at: [] ocfs2_reserve_suballoc_bits+0x102/0xe09 [ocfs2] #3: (&ocfs2_sysfile_lock_key[args->fi_sysfile_type]#6){+.+...}, at: [] ocfs2_reserve_local_alloc_bits+0x100/0xe49 [ocfs2] #4: (&journal->j_trans_barrier){.+.+..}, at: [] ocfs2_start_trans+0x9b/0x178 [ocfs2] #5: (jbd2_handle){+.+...}, at: [] start_this_handle+0x32d/0x38f [jbd2] #6: (&s->s_dquot.dqptr_sem){++++..}, at: [] dquot_alloc_inode+0x63/0x133 stack backtrace: Pid: 2546, comm: tar Not tainted 2.6.34-rc1-kvm #179 Call Trace: [] ? printk+0x14/0x19 [] print_circular_bug+0x90/0x9c [] __lock_acquire+0xdfc/0x139e [] ? ocfs2_start_trans+0x35/0x178 [ocfs2] [] lock_acquire+0x97/0xbb [] ? dquot_commit+0x26/0xc8 [] mutex_lock_nested+0x3f/0x275 [] ? dquot_commit+0x26/0xc8 [] dquot_commit+0x26/0xc8 [] ocfs2_write_dquot+0x108/0x167 [ocfs2] [] ocfs2_mark_dquot_dirty+0xc4/0x28f [ocfs2] [] dquot_alloc_inode+0xf3/0x133 [] ocfs2_mknod+0x728/0xd8c [ocfs2] [] ocfs2_mkdir+0x77/0xcd [ocfs2] [] vfs_mkdir+0x66/0xc9 [] ? ocfs2_mkdir+0x0/0xcd [ocfs2] [] sys_mkdirat+0x7f/0xba [] ? handle_mm_fault+0x56a/0x57d [] ? up_read+0x1b/0x31 [] ? restore_all_notrace+0x0/0x18 [] sys_mkdir+0x15/0x17 [] syscall_call+0x7/0xb -- "All alone at the end of the evening When the bright lights have faded to blue. I was thinking about a woman who had loved me And I never knew" Joel Becker Principal Software Developer Oracle E-mail: joel.becker at oracle.com Phone: (650) 506-8127