On 07/31/2012 12:35 PM, Kyle Gates wrote: > On Mon, Jul 30, 2012 at 9:00 PM, Liu Bo <liubo2009@xxxxxxxxxxxxxx> wrote: >> On 07/31/2012 03:55 AM, Kyle Gates wrote: >> >>> I have a 3 disk raid1 filesystem mounted with nodatacow. I have a >>> folder in said filesystem with the 'C' NOCOW & 'Z' Not_Compressed >>> flags set for good measure. I then copy in a large file and proceed to >>> make random modifications. Filefrag shows no additional extents >>> created, good so far. A big thank you to the those devs who got that >>> working. >>> However, after a balance run (which crashed btw), modifications to the >>> file result in increasing extent counts, ie. no longer obeying >>> nodatacow mount option nor the 'C' flag. >>> I realize that a balance will cow the data but it should not disable >>> the ability to make nodatacow inline changes to a file. >>> >>> I'm currently running 3.5.0 mainline Ubuntu kernel with the latest >>> master of btrfs-progs from a ppa. >>> >> >> hmm, I want to know if your 3.5.0 mainline ubuntu kernel has the commit: >> >> Btrfs: make btrfs's allocation smoothly with preallocation >> >> This commit may help you out of trouble. >> Please let us know the result. >> >> thanks, >> liubo >> >>> Thank you. >>> Kyle Gates > I didn't have that commit before but I do now: > Linux home 3.5.0-999-generic #201207290405 SMP Sun Jul 29 08:13:26 UTC > 2012 i686 athlon i386 GNU/Linux > > One of my disk is having some issues though. I got this why running a > balance which is now hung: > oops, I know where goes wrong. I should have noticed it, sorry Kyle. We've not merged the following patch into mainline: Btrfs: allow delayed refs to be merged V2 (link: https://patchwork.kernel.org/patch/1197821/) So could you please apply the patch and test it again? thanks, liubo > Jul 30 23:26:38 home kernel: [ 3809.072508] btrfs: found 43 extents > Jul 30 23:26:41 home kernel: [ 3811.987119] btrfs: found 43 extents > Jul 30 23:26:41 home kernel: [ 3812.264800] btrfs: relocating block > group 1270947512320 flags 17 > Jul 30 23:26:55 home kernel: [ 3825.690152] ata3.00: exception Emask > 0x0 SAct 0x0 SErr 0x0 action 0x0 > Jul 30 23:26:55 home kernel: [ 3825.690161] ata3.00: BMDMA stat 0x64 > Jul 30 23:26:55 home kernel: [ 3825.690166] ata3.00: failed command: > READ DMA EXT > Jul 30 23:26:55 home kernel: [ 3825.690174] ata3.00: cmd > 25/00:00:00:44:2d/00:04:0c:00:00/e0 tag 0 dma 524288 in > Jul 30 23:26:55 home kernel: [ 3825.690174] res > 51/40:00:bd:45:2d/40:00:0c:00:00/e0 Emask 0x9 (media error) > Jul 30 23:26:55 home kernel: [ 3825.690177] ata3.00: status: { DRDY ERR } > Jul 30 23:26:55 home kernel: [ 3825.690180] ata3.00: error: { UNC } > Jul 30 23:26:55 home kernel: [ 3825.712355] ata3.00: configured for UDMA/133 > Jul 30 23:26:55 home kernel: [ 3825.712396] sd 2:0:0:0: [sdd] > Unhandled sense code > Jul 30 23:26:55 home kernel: [ 3825.712400] sd 2:0:0:0: [sdd] > Jul 30 23:26:55 home kernel: [ 3825.712402] Result: hostbyte=DID_OK > driverbyte=DRIVER_SENSE > Jul 30 23:26:55 home kernel: [ 3825.712405] sd 2:0:0:0: [sdd] > Jul 30 23:26:55 home kernel: [ 3825.712408] Sense Key : Medium Error > [current] [descriptor] > Jul 30 23:26:55 home kernel: [ 3825.712412] Descriptor sense data with > sense descriptors (in hex): > Jul 30 23:26:55 home kernel: [ 3825.712414] 72 03 11 04 00 00 > 00 0c 00 0a 80 00 00 00 00 00 > Jul 30 23:26:55 home kernel: [ 3825.712424] 0c 2d 45 bd > Jul 30 23:26:55 home kernel: [ 3825.712429] sd 2:0:0:0: [sdd] > Jul 30 23:26:55 home kernel: [ 3825.712433] Add. Sense: Unrecovered > read error - auto reallocate failed > Jul 30 23:26:55 home kernel: [ 3825.712437] sd 2:0:0:0: [sdd] CDB: > Jul 30 23:26:55 home kernel: [ 3825.712439] Read(10): 28 00 0c 2d 44 > 00 00 04 00 00 > Jul 30 23:26:55 home kernel: [ 3825.712448] end_request: I/O error, > dev sdd, sector 204293565 > Jul 30 23:26:55 home kernel: [ 3825.712453] btrfs: bdev /dev/sdd6 > errs: wr 0, rd 70, flush 0, corrupt 0, gen 0 > Jul 30 23:26:55 home kernel: [ 3825.712457] btrfs: bdev /dev/sdd6 > errs: wr 0, rd 71, flush 0, corrupt 0, gen 0 > Jul 30 23:26:55 home kernel: [ 3825.712463] btrfs: bdev /dev/sdd6 > errs: wr 0, rd 72, flush 0, corrupt 0, gen 0 > Jul 30 23:26:55 home kernel: [ 3825.712466] btrfs: bdev /dev/sdd6 > errs: wr 0, rd 73, flush 0, corrupt 0, gen 0 > Jul 30 23:26:55 home kernel: [ 3825.712470] btrfs: bdev /dev/sdd6 > errs: wr 0, rd 74, flush 0, corrupt 0, gen 0 > Jul 30 23:26:55 home kernel: [ 3825.712484] ata3: EH complete > Jul 30 23:29:10 home kernel: [ 3960.660091] INFO: task btrfs:4600 > blocked for more than 120 seconds. > Jul 30 23:29:10 home kernel: [ 3960.660099] "echo 0 > > /proc/sys/kernel/hung_task_timeout_secs" disables this message. > Jul 30 23:29:10 home kernel: [ 3960.660102] btrfs D f8540aba > 0 4600 4598 0x00000000 > Jul 30 23:29:10 home kernel: [ 3960.660109] c5d2dc20 00000082 > c5d2dc28 f8540aba f55da048 c185f220 c198f080 c198f080 > Jul 30 23:29:10 home kernel: [ 3960.660116] d3e86224 0000037a > f73f0080 cabe8000 f51cb2c0 00000000 00000000 f6dea000 > Jul 30 23:29:10 home kernel: [ 3960.660122] f52f8800 0000db6b > 00000000 00000000 00000004 00000000 00000001 cabe8000 > Jul 30 23:29:10 home kernel: [ 3960.660128] Call Trace: > Jul 30 23:29:10 home kernel: [ 3960.660207] [<f8540aba>] ? > reserve_metadata_bytes.isra.70+0x31a/0x590 [btrfs] > Jul 30 23:29:10 home kernel: [ 3960.660217] [<c1094d28>] ? > ktime_get_ts+0xb8/0xe0 > Jul 30 23:29:10 home kernel: [ 3960.660225] [<c15dabd3>] schedule+0x23/0x60 > Jul 30 23:29:10 home kernel: [ 3960.660229] [<c15dac88>] io_schedule+0x78/0xb0 > Jul 30 23:29:10 home kernel: [ 3960.660237] [<c110772d>] sleep_on_page+0xd/0x20 > Jul 30 23:29:10 home kernel: [ 3960.660241] [<c15d9777>] > __wait_on_bit_lock+0x47/0x90 > Jul 30 23:29:10 home kernel: [ 3960.660244] [<c1107720>] ? > __lock_page+0x80/0x80 > Jul 30 23:29:10 home kernel: [ 3960.660248] [<c1107718>] __lock_page+0x78/0x80 > Jul 30 23:29:10 home kernel: [ 3960.660255] [<c1068e00>] ? > autoremove_wake_function+0x50/0x50 > Jul 30 23:29:10 home kernel: [ 3960.660259] [<c110782d>] > find_lock_page+0x5d/0x70 > Jul 30 23:29:10 home kernel: [ 3960.660292] [<f859912d>] > relocate_file_extent_cluster+0x17d/0x3e0 [btrfs] > Jul 30 23:29:10 home kernel: [ 3960.660316] [<f8599486>] > relocate_data_extent.isra.47+0xf6/0x120 [btrfs] > Jul 30 23:29:10 home kernel: [ 3960.660339] [<f859c695>] > relocate_block_group+0x295/0x5a0 [btrfs] > Jul 30 23:29:10 home kernel: [ 3960.660363] [<f859cb32>] > btrfs_relocate_block_group+0x192/0x2e0 [btrfs] > Jul 30 23:29:10 home kernel: [ 3960.660386] [<f8576ec9>] > btrfs_relocate_chunk.isra.50+0x59/0x3c0 [btrfs] > Jul 30 23:29:10 home kernel: [ 3960.660408] [<f85764ca>] ? > should_balance_chunk.isra.54+0x3a/0x350 [btrfs] > Jul 30 23:29:10 home kernel: [ 3960.660431] [<f857351e>] ? > free_extent_buffer+0x2e/0x80 [btrfs] > Jul 30 23:29:10 home kernel: [ 3960.660453] [<f857bf19>] > __btrfs_balance+0x389/0x470 [btrfs] > Jul 30 23:29:10 home kernel: [ 3960.660476] [<f857c384>] > btrfs_balance+0x384/0x560 [btrfs] > Jul 30 23:29:10 home kernel: [ 3960.660482] [<c11457a1>] ? > kmem_cache_alloc_trace+0x111/0x140 > Jul 30 23:29:10 home kernel: [ 3960.660504] [<f858493d>] > btrfs_ioctl_balance+0xed/0x380 [btrfs] > Jul 30 23:29:10 home kernel: [ 3960.660528] [<f85864b1>] > btrfs_ioctl+0x561/0x890 [btrfs] > Jul 30 23:29:10 home kernel: [ 3960.660551] [<f8585f50>] ? > update_ioctl_balance_args+0x2c0/0x2c0 [btrfs] > Jul 30 23:29:10 home kernel: [ 3960.660558] [<c116565f>] > do_vfs_ioctl+0x7f/0x2f0 > Jul 30 23:29:10 home kernel: [ 3960.660562] [<c116593f>] sys_ioctl+0x6f/0x80 > Jul 30 23:29:10 home kernel: [ 3960.660570] [<c15e29df>] > sysenter_do_call+0x12/0x28 > Jul 30 23:31:10 home kernel: [ 4080.660090] INFO: task btrfs:4600 > blocked for more than 120 seconds. > Jul 30 23:31:10 home kernel: [ 4080.660098] "echo 0 > > /proc/sys/kernel/hung_task_timeout_secs" disables this message. > Jul 30 23:31:10 home kernel: [ 4080.660101] btrfs D f8540aba > 0 4600 4598 0x00000000 > Jul 30 23:31:10 home kernel: [ 4080.660107] c5d2dc20 00000082 > c5d2dc28 f8540aba f55da048 c185f220 c198f080 c198f080 > Jul 30 23:31:10 home kernel: [ 4080.660114] d3e86224 0000037a > f73f0080 cabe8000 f51cb2c0 00000000 00000000 f6dea000 > Jul 30 23:31:10 home kernel: [ 4080.660121] f52f8800 0000db6b > 00000000 00000000 00000004 00000000 00000001 cabe8000 > Jul 30 23:31:10 home kernel: [ 4080.660127] Call Trace: > Jul 30 23:31:10 home kernel: [ 4080.660203] [<f8540aba>] ? > reserve_metadata_bytes.isra.70+0x31a/0x590 [btrfs] > Jul 30 23:31:10 home kernel: [ 4080.660212] [<c1094d28>] ? > ktime_get_ts+0xb8/0xe0 > Jul 30 23:31:10 home kernel: [ 4080.660220] [<c15dabd3>] schedule+0x23/0x60 > Jul 30 23:31:10 home kernel: [ 4080.660224] [<c15dac88>] io_schedule+0x78/0xb0 > Jul 30 23:31:10 home kernel: [ 4080.660232] [<c110772d>] sleep_on_page+0xd/0x20 > Jul 30 23:31:10 home kernel: [ 4080.660236] [<c15d9777>] > __wait_on_bit_lock+0x47/0x90 > Jul 30 23:31:10 home kernel: [ 4080.660240] [<c1107720>] ? > __lock_page+0x80/0x80 > Jul 30 23:31:10 home kernel: [ 4080.660243] [<c1107718>] __lock_page+0x78/0x80 > Jul 30 23:31:10 home kernel: [ 4080.660250] [<c1068e00>] ? > autoremove_wake_function+0x50/0x50 > Jul 30 23:31:10 home kernel: [ 4080.660254] [<c110782d>] > find_lock_page+0x5d/0x70 > Jul 30 23:31:10 home kernel: [ 4080.660287] [<f859912d>] > relocate_file_extent_cluster+0x17d/0x3e0 [btrfs] > Jul 30 23:31:10 home kernel: [ 4080.660310] [<f8599486>] > relocate_data_extent.isra.47+0xf6/0x120 [btrfs] > Jul 30 23:31:10 home kernel: [ 4080.660334] [<f859c695>] > relocate_block_group+0x295/0x5a0 [btrfs] > Jul 30 23:31:10 home kernel: [ 4080.660358] [<f859cb32>] > btrfs_relocate_block_group+0x192/0x2e0 [btrfs] > Jul 30 23:31:10 home kernel: [ 4080.660381] [<f8576ec9>] > btrfs_relocate_chunk.isra.50+0x59/0x3c0 [btrfs] > Jul 30 23:31:10 home kernel: [ 4080.660403] [<f85764ca>] ? > should_balance_chunk.isra.54+0x3a/0x350 [btrfs] > Jul 30 23:31:10 home kernel: [ 4080.660426] [<f857351e>] ? > free_extent_buffer+0x2e/0x80 [btrfs] > Jul 30 23:31:10 home kernel: [ 4080.660448] [<f857bf19>] > __btrfs_balance+0x389/0x470 [btrfs] > Jul 30 23:31:10 home kernel: [ 4080.660471] [<f857c384>] > btrfs_balance+0x384/0x560 [btrfs] > Jul 30 23:31:10 home kernel: [ 4080.660477] [<c11457a1>] ? > kmem_cache_alloc_trace+0x111/0x140 > Jul 30 23:31:10 home kernel: [ 4080.660500] [<f858493d>] > btrfs_ioctl_balance+0xed/0x380 [btrfs] > Jul 30 23:31:10 home kernel: [ 4080.660523] [<f85864b1>] > btrfs_ioctl+0x561/0x890 [btrfs] > Jul 30 23:31:10 home kernel: [ 4080.660546] [<f8585f50>] ? > update_ioctl_balance_args+0x2c0/0x2c0 [btrfs] > Jul 30 23:31:10 home kernel: [ 4080.660554] [<c116565f>] > do_vfs_ioctl+0x7f/0x2f0 > Jul 30 23:31:10 home kernel: [ 4080.660558] [<c116593f>] sys_ioctl+0x6f/0x80 > Jul 30 23:31:10 home kernel: [ 4080.660565] [<c15e29df>] > sysenter_do_call+0x12/0x28 > -- 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
