kernel BUG at extent-tree.c:3162 (get_restripe_target)

2012-04-06 Thread Mitch Harder
I'm consistently hitting the BUG_ON in the new get_restripe_target
function that was added by [PATCH 4/8] Btrfs: add
get_restripe_target() helper when trying to initially mount a btrfs
partition.

Lines fs/btrfs/extent-tree.c:3161-3162:

BUG_ON(!mutex_is_locked(fs_info-volume_mutex) 
   !spin_is_locked(fs_info-balance_lock));

The kernel is a 3.3.1 kernel merged with the for-linus branch (for the
3.4_rc kernel) of Chris Mason's git repo.

If I boot with an older 3.2.10 kernel (which was merged with the
3.3_rc for-linus branch), the partition mounts without error, and
btrfsck reports no errors.

The partition seems to behave normally under use on the 3.2.10 kernel.

This computer has gone through a few hard reboots recently.  I'm not
sure if the hard reboots have left some inconsistencies, but if so,
they are not showing up on the 3.2.10 kernel.

[   66.233463] device fsid 43129e18-c745-476c-ba48-c6bea0d71e56 devid
1 transid 151 /dev/sdc1
[   66.235090] btrfs: force lzo compression
[   66.235097] btrfs: enabling auto defrag
[   66.235099] btrfs: disk space caching is enabled
[   66.310693] [ cut here ]
[   66.310802] kernel BUG at fs/btrfs/extent-tree.c:3162!
[   66.310905] invalid opcode:  [#1]
[   66.311042] Modules linked in:
[   66.311178]
[   66.311274] Pid: 2993, comm: mount Not tainted 3.3.1-git-local+ #1
  /MS-6570
[   66.311549] EIP: 0060:[c12db3f6] EFLAGS: 00010246 CPU: 0
[   66.311573] EIP is at get_restripe_target+0x86/0x90
[   66.311573] EAX: 0001 EBX: 0001 ECX:  EDX: 0001
[   66.311573] ESI: 0001 EDI: f6227780 EBP: f4d9dc80 ESP: f4d9dc7c
[   66.311573]  DS: 007b ES: 007b FS:  GS: 00e0 SS: 0068
[   66.311573] Process mount (pid: 2993, ti=f4d9c000 task=f5f5e180
task.ti=f4d9c000)
[   66.311573] Stack:
[   66.311573]  0001 f4d9dca4 c12e1693   0001
 f6379000
[   66.311573]  f31d f61b5400 f4d9dcb0 c12e1797 0001 f4d9dd38
c12e8a3a f31d
[   66.311573]     f4d9dd28 f31d f61b5400
0033 f61b5510
[   66.311573] Call Trace:
[   66.311573]  [c12e1693] btrfs_reduce_alloc_profile+0x43/0xe0
[   66.311573]  [c12e1797] get_alloc_profile+0x67/0x70
[   66.311573]  [c12e8a3a] btrfs_read_block_groups+0x4fa/0x650
[   66.311573]  [c12f40d0] open_ctree+0x10e0/0x18b0
[   66.311573]  [c12d2271] btrfs_mount+0x501/0x8e0
[   66.311573]  [c10a5055] ? free_pages_prepare+0xc5/0x120
[   66.311573]  [c10a6815] ? __free_pages+0x25/0x30
[   66.311573]  [c10a684f] ? free_pages+0x2f/0x40
[   66.311573]  [c10d67d5] mount_fs+0x35/0x180
[   66.311573]  [c10b540e] ? kstrdup+0x3e/0x50
[   66.311573]  [c10eab4b] vfs_kern_mount+0x4b/0xb0
[   66.311573]  [c10ead09] do_kern_mount+0x39/0xd0
[   66.311573]  [c10ec48a] do_mount+0x58a/0x670
[   66.311573]  [c10a6066] ? __get_free_pages+0x26/0x30
[   66.311573]  [c10ebde9] ? copy_mount_options+0x39/0x110
[   66.311573]  [c10ec5f6] sys_mount+0x66/0xa0
[   66.311573]  [c1789293] sysenter_do_call+0x12/0x22
[   66.311573] Code: b6 00 00 00 00 31 c0 31 d2 83 e3 04 74 cc f6 81
cd 00 00 00 01 74 c3 8b 99 c4 00 00 00 8b 91 c8 00 00 00 89 d8 83 c8
04 5b 5d c3 0f 0b 90 8d b4 26 00 00 00 00 55 8d 88 f0 fe ff ff 89 e5
53 8b
[   66.311573] EIP: [c12db3f6] get_restripe_target+0x86/0x90 SS:ESP
0068:f4d9dc7c
[   66.318545] ---[ end trace 0c923804dee2b085 ]---
--
To unsubscribe from this list: send the line unsubscribe linux-btrfs in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: kernel BUG at extent-tree.c:3162 (get_restripe_target)

2012-04-06 Thread David Sterba
On Fri, Apr 06, 2012 at 10:33:04AM -0500, Mitch Harder wrote:
 I'm consistently hitting the BUG_ON in the new get_restripe_target
 function that was added by [PATCH 4/8] Btrfs: add
 get_restripe_target() helper when trying to initially mount a btrfs
 partition.
 
 Lines fs/btrfs/extent-tree.c:3161-3162:
 
   BUG_ON(!mutex_is_locked(fs_info-volume_mutex) 
  !spin_is_locked(fs_info-balance_lock));

Is it a single CPU machine? See

http://www.spinics.net/lists/linux-btrfs/msg15884.html

david
--
To unsubscribe from this list: send the line unsubscribe linux-btrfs in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: kernel BUG at extent-tree.c:3162 (get_restripe_target)

2012-04-06 Thread Mitch Harder
On Fri, Apr 6, 2012 at 10:43 AM, David Sterba d...@jikos.cz wrote:
 On Fri, Apr 06, 2012 at 10:33:04AM -0500, Mitch Harder wrote:
 I'm consistently hitting the BUG_ON in the new get_restripe_target
 function that was added by [PATCH 4/8] Btrfs: add
 get_restripe_target() helper when trying to initially mount a btrfs
 partition.

 Lines fs/btrfs/extent-tree.c:3161-3162:

       BUG_ON(!mutex_is_locked(fs_info-volume_mutex) 
              !spin_is_locked(fs_info-balance_lock));

 Is it a single CPU machine? See

 http://www.spinics.net/lists/linux-btrfs/msg15884.html


Thanks!

Yes, this is a single CPU machine.  I'll test the solution from that thread.
--
To unsubscribe from this list: send the line unsubscribe linux-btrfs in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: kernel BUG at extent-tree.c:3162 (get_restripe_target)

2012-04-06 Thread Ilya Dryomov
On Fri, Apr 06, 2012 at 10:52:13AM -0500, Mitch Harder wrote:
 On Fri, Apr 6, 2012 at 10:43 AM, David Sterba d...@jikos.cz wrote:
  On Fri, Apr 06, 2012 at 10:33:04AM -0500, Mitch Harder wrote:
  I'm consistently hitting the BUG_ON in the new get_restripe_target
  function that was added by [PATCH 4/8] Btrfs: add
  get_restripe_target() helper when trying to initially mount a btrfs
  partition.
 
  Lines fs/btrfs/extent-tree.c:3161-3162:
 
        BUG_ON(!mutex_is_locked(fs_info-volume_mutex) 
               !spin_is_locked(fs_info-balance_lock));
 
  Is it a single CPU machine? See
 
  http://www.spinics.net/lists/linux-btrfs/msg15884.html
 
 
 Thanks!
 
 Yes, this is a single CPU machine.  I'll test the solution from that thread.

Sorry about that.  I'm going to hold off a bit to see if there will be
any objections to v2 from that thread, but we will definitely do
something about this by rc3 or rc4 at worst.

Thanks,

Ilya
--
To unsubscribe from this list: send the line unsubscribe linux-btrfs in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html