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. Thank you. Kyle Gates -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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 > -- > To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html >-- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Mon, Jul 30, 2012 at 9:00 PM, Liu Bo <liubo2009@cn.fujitsu.com> 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 GatesI 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: 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 07/31/2012 12:35 PM, Kyle Gates wrote:> On Mon, Jul 30, 2012 at 9:00 PM, Liu Bo <liubo2009@cn.fujitsu.com> 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Mon, Jul 30, 2012 at 11:58 PM, Liu Bo <liubo2009@cn.fujitsu.com> wrote:> On 07/31/2012 12:35 PM, Kyle Gates wrote: > >> On Mon, Jul 30, 2012 at 9:00 PM, Liu Bo <liubo2009@cn.fujitsu.com> 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 disks is having some issues though. I got this while 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, > liuboI have yet to try a kernel compile so I''ll just wait until that patch is merged, sorry. On a related note... Setting the ''C'' NOCOW flag on a file will only be obeyed if the filesystem is mounted with ''nodatasum'' David sent a patch for the simplest case back on 5/15/2012 but I don''t think it got merged. A nice enhancement would be when nodatacow is enabled, checksums would be selectively cleared as data extents are modified. Thanks, Kyle -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html