From: Liu Bo <liubo2009@cn.fujitsu.com>
To: Kyle Gates <kylegates@gmail.com>
Cc: linux-btrfs@vger.kernel.org
Subject: Re: balance disables nodatacow
Date: Tue, 31 Jul 2012 12:58:12 +0800 [thread overview]
Message-ID: <501765E4.5080107@cn.fujitsu.com> (raw)
In-Reply-To: <CA+M2Dj=oG_1QZKn1Y3wncmCw=dmLF9psBH6PPhe1Xha5-P=h9A@mail.gmail.com>
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
>
next prev parent reply other threads:[~2012-07-31 4:58 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-30 19:55 balance disables nodatacow Kyle Gates
2012-07-31 2:00 ` Liu Bo
2012-07-31 4:35 ` Kyle Gates
2012-07-31 4:58 ` Liu Bo [this message]
2012-08-02 3:14 ` Kyle Gates
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=501765E4.5080107@cn.fujitsu.com \
--to=liubo2009@cn.fujitsu.com \
--cc=kylegates@gmail.com \
--cc=linux-btrfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.