[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

subvolume create hangs when using nonstandard sector sizes



Kernel 3.3.0, 64bit.
Reproduce:
mkfs.btrfs /dev/foo -s 16k -l 16k -n16k
mount /dev/foo /mnt/foo
cd /mnt/foo
btrfs su create test
hangs hard here, any attempt to access that fs also hangs hard.

Workaround: Don't do it. :)

If it makes a difference, it was a logical volume on top of MD, not a
raw partition.  It also may be more than
just subvolume create that locks up

ran across this entirely by accident, I was creating a test partition
to see if raising my sector size had a performance impact.

[  236.386751] btrfs: disk space caching is enabled
[  480.936040] INFO: task btrfs-transacti:3325 blocked for more than
120 seconds.
[  480.936082] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs"
disables this message.
[  480.936121] btrfs-transacti D ffff88022fc12380 0  3325      2 0x00000000
[  480.936126]  ffff880213ddbd80 0000000000000046 ffff880218410780
0000000000012380
[  480.936131]  ffff880213ddbfd8 ffff880213dda000 0000000000012380
0000000000004000
[  480.936135]  ffff880213ddbfd8 0000000000012380 ffffffff81945020
ffff880218410780
[  480.936139] Call Trace:
[  480.936147]  [<ffffffff8168d33a>] schedule+0x3a/0x50
[  480.936151]  [<ffffffff8134d7dd>] wait_current_trans.clone.22+0x8d/0xf0
[  480.936155]  [<ffffffff81055390>] ? wake_up_bit+0x40/0x40
[  480.936158]  [<ffffffff8134d862>] ? join_transaction.clone.24+0x22/0x270
[  480.936162]  [<ffffffff8134edc8>] start_transaction+0x1f8/0x300
[  480.936165]  [<ffffffff8134ef20>] btrfs_join_transaction+0x10/0x20
[  480.936168]  [<ffffffff81346f7a>] transaction_kthread+0x14a/0x2a0
[  480.936171]  [<ffffffff81346e30>] ? btrfs_alloc_root+0x40/0x40
[  480.936173]  [<ffffffff81346e30>] ? btrfs_alloc_root+0x40/0x40
[  480.936176]  [<ffffffff81346e30>] ? btrfs_alloc_root+0x40/0x40
[  480.936179]  [<ffffffff81054e46>] kthread+0x96/0xa0
[  480.936183]  [<ffffffff816970c4>] kernel_thread_helper+0x4/0x10
[  480.936186]  [<ffffffff8168e6ca>] ? retint_restore_args+0xe/0xe
[  480.936189]  [<ffffffff81054db0>] ? kthread_freezable_should_stop+0x60/0x60
[  480.936192]  [<ffffffff816970c0>] ? gs_change+0xb/0xb

[  480.936410] INFO: task flush-btrfs-5:3329 blocked for more than 120 seconds.
[  480.936446] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs"
disables this message.
[  480.936484] flush-btrfs-5   D ffff88022fc12380     0  3329      2 0x00000000
[  480.936488]  ffff880215105980 0000000000000046 ffff880213de27c0
0000000000012380
[  480.936492]  ffff880215105fd8 ffff880215104000 0000000000012380
0000000000004000
[  480.936496]  ffff880215105fd8 0000000000012380 ffffffff81945020
ffff880213de27c0
[  480.936499] Call Trace:
[  480.936503]  [<ffffffff810ce096>] ? get_page_from_freelist+0x336/0x790
[  480.936506]  [<ffffffff810c6630>] ? __lock_page+0x70/0x70
[  480.936509]  [<ffffffff81071488>] ? ktime_get_ts+0xa8/0xe0
[  480.936512]  [<ffffffff810c6630>] ? __lock_page+0x70/0x70
[  480.936515]  [<ffffffff8168d33a>] schedule+0x3a/0x50
[  480.936518]  [<ffffffff8168d3d7>] io_schedule+0x87/0xd0
[  480.936521]  [<ffffffff810c6639>] sleep_on_page+0x9/0x10
[  480.936523]  [<ffffffff8168b772>] __wait_on_bit_lock+0x52/0xb0
[  480.936526]  [<ffffffff810c6622>] __lock_page+0x62/0x70
[  480.936529]  [<ffffffff810553d0>] ? autoremove_wake_function+0x40/0x40
[  480.936532]  [<ffffffff8136cdfe>]
extent_write_cache_pages.clone.18.clone.29+0x1fe/0x3d0
[  480.936536]  [<ffffffff8136d233>] extent_writepages+0x43/0x60
[  480.936539]  [<ffffffff813525f0>] ? uncompress_inline.clone.36+0x1c0/0x1c0
[  480.936542]  [<ffffffff81055264>] ? bit_waitqueue+0x14/0xd0
[  480.936546]  [<ffffffff81351e22>] btrfs_writepages+0x22/0x30
[  480.936548]  [<ffffffff810d133c>] do_writepages+0x1c/0x30
[  480.936552]  [<ffffffff8113d4f2>] writeback_single_inode+0x102/0x320
[  480.936555]  [<ffffffff8113db80>] writeback_sb_inodes+0x1f0/0x2b0
[  480.936558]  [<ffffffff8113e0d6>] __writeback_inodes_wb+0x96/0xc0
[  480.936560]  [<ffffffff8113e573>] wb_writeback+0x233/0x2c0
[  480.936563]  [<ffffffff8113ee5e>] wb_do_writeback+0x14e/0x200
[  480.936566]  [<ffffffff8113ef10>] ? wb_do_writeback+0x200/0x200
[  480.936569]  [<ffffffff8113efaa>] bdi_writeback_thread+0x9a/0x250
[  480.936572]  [<ffffffff8113ef10>] ? wb_do_writeback+0x200/0x200
[  480.936574]  [<ffffffff8113ef10>] ? wb_do_writeback+0x200/0x200
[  480.936577]  [<ffffffff81054e46>] kthread+0x96/0xa0
[  480.936580]  [<ffffffff816970c4>] kernel_thread_helper+0x4/0x10
[  480.936583]  [<ffffffff8168e6ca>] ? retint_restore_args+0xe/0xe
[  480.936587]  [<ffffffff81054db0>] ? kthread_freezable_should_stop+0x60/0x60
[  480.936590]  [<ffffffff816970c0>] ? gs_change+0xb/0xb

[  600.936181] INFO: task btrfs:3327 blocked for more than 120 seconds.
[  600.936214] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs"
disables this message.
[  600.936250] btrfs           D ffff88022fd12380     0  3327      1 0x00000004
[  600.936254]  ffff880213e334d8 0000000000000082 ffff880213e24200
0000000000012380
[  600.936257]  ffff880213e33fd8 ffff880213e32000 0000000000012380
0000000000004000
[  600.936261]  ffff880213e33fd8 0000000000012380 ffff8802270f0300
ffff880213e24200
[  600.936264] Call Trace:
[  600.936267]  [<ffffffff813c4f44>] ? submit_bio+0x84/0x110
[  600.936271]  [<ffffffff81375bcb>] ? btrfs_map_bio+0x15b/0x230
[  600.936275]  [<ffffffff81071488>] ? ktime_get_ts+0xa8/0xe0
[  600.936279]  [<ffffffff810c6630>] ? __lock_page+0x70/0x70
[  600.936281]  [<ffffffff8168d33a>] schedule+0x3a/0x50
[  600.936284]  [<ffffffff8168d3d7>] io_schedule+0x87/0xd0
[  600.936287]  [<ffffffff810c6639>] sleep_on_page+0x9/0x10
[  600.936289]  [<ffffffff8168b8a7>] __wait_on_bit+0x57/0x80
[  600.936292]  [<ffffffff810c685e>] wait_on_page_bit+0x6e/0x80
[  600.936294]  [<ffffffff810553d0>] ? autoremove_wake_function+0x40/0x40
[  600.936298]  [<ffffffff8136ce85>]
extent_write_cache_pages.clone.18.clone.29+0x285/0x3d0
[  600.936302]  [<ffffffff8136d233>] extent_writepages+0x43/0x60
[  600.936306]  [<ffffffff813525f0>] ? uncompress_inline.clone.36+0x1c0/0x1c0
[  600.936309]  [<ffffffff81351e22>] btrfs_writepages+0x22/0x30
[  600.936311]  [<ffffffff810d133c>] do_writepages+0x1c/0x30
[  600.936314]  [<ffffffff810c7318>] __filemap_fdatawrite_range+0x88/0x90
[  600.936317]  [<ffffffff810c81ba>] filemap_fdatawrite+0x1a/0x20
[  600.936320]  [<ffffffff810c81f5>] filemap_write_and_wait+0x35/0x60
[  600.936323]  [<ffffffff813874a7>] __btrfs_write_out_cache+0x8c7/0xb10
[  600.936326]  [<ffffffff8137e9c3>] ? btrfs_tree_unlock+0x23/0xb0
[  600.936331]  [<ffffffff8133d66c>] ? btrfs_run_delayed_refs+0x27c/0x490
[  600.936334]  [<ffffffff81387799>] btrfs_write_out_cache+0xa9/0xe0
[  600.936337]  [<ffffffff8133dccf>] btrfs_write_dirty_block_groups+0x44f/0x520
[  600.936340]  [<ffffffff8134cebd>] commit_cowonly_roots+0x10d/0x1d0
[  600.936343]  [<ffffffff8134e47b>] btrfs_commit_transaction+0x3eb/0x860
[  600.936346]  [<ffffffff81055390>] ? wake_up_bit+0x40/0x40
[  600.936349]  [<ffffffff81378f43>] create_subvol+0x493/0x4d0
[  600.936353]  [<ffffffff8137a6ff>] btrfs_mksubvol+0x16f/0x390
[  600.936356]  [<ffffffff8137aa55>] btrfs_ioctl_snap_create_transid+0x135/0x190
[  600.936359]  [<ffffffff8137ab01>] btrfs_ioctl_snap_create+0x51/0x70
[  600.936362]  [<ffffffff8137d510>] btrfs_ioctl+0x320/0x1220
[  600.936366]  [<ffffffff810ea769>] ? handle_mm_fault+0x159/0x2b0
[  600.936369]  [<ffffffff81691b94>] ? do_page_fault+0x1e4/0x490
[  600.936373]  [<ffffffff81128546>] do_vfs_ioctl+0x96/0x4f0
[  600.936377]  [<ffffffff813ea41a>] ? trace_hardirqs_off_thunk+0x3a/0x6c
[  600.936380]  [<ffffffff81128a29>] sys_ioctl+0x89/0x90
[  600.936383]  [<ffffffff81695ee2>] system_call_fastpath+0x16/0x1b
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]    [Yosemite Photos]    [Free Online Dating]     [Linux Kernel]     [Linux SCSI]     [XFree86]

Add to Google Powered by Linux