linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* balance disables nodatacow
@ 2012-07-30 19:55 Kyle Gates
  2012-07-31  2:00 ` Liu Bo
  0 siblings, 1 reply; 5+ messages in thread
From: Kyle Gates @ 2012-07-30 19:55 UTC (permalink / raw)
  To: linux-btrfs

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: balance disables nodatacow
  2012-07-30 19:55 balance disables nodatacow Kyle Gates
@ 2012-07-31  2:00 ` Liu Bo
  2012-07-31  4:35   ` Kyle Gates
  0 siblings, 1 reply; 5+ messages in thread
From: Liu Bo @ 2012-07-31  2:00 UTC (permalink / raw)
  To: Kyle Gates; +Cc: linux-btrfs

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
> 



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: balance disables nodatacow
  2012-07-31  2:00 ` Liu Bo
@ 2012-07-31  4:35   ` Kyle Gates
  2012-07-31  4:58     ` Liu Bo
  0 siblings, 1 reply; 5+ messages in thread
From: Kyle Gates @ 2012-07-31  4:35 UTC (permalink / raw)
  To: Liu Bo; +Cc: linux-btrfs

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:

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: balance disables nodatacow
  2012-07-31  4:35   ` Kyle Gates
@ 2012-07-31  4:58     ` Liu Bo
  2012-08-02  3:14       ` Kyle Gates
  0 siblings, 1 reply; 5+ messages in thread
From: Liu Bo @ 2012-07-31  4:58 UTC (permalink / raw)
  To: Kyle Gates; +Cc: linux-btrfs

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
> 



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: balance disables nodatacow
  2012-07-31  4:58     ` Liu Bo
@ 2012-08-02  3:14       ` Kyle Gates
  0 siblings, 0 replies; 5+ messages in thread
From: Kyle Gates @ 2012-08-02  3:14 UTC (permalink / raw)
  To: Liu Bo; +Cc: linux-btrfs, dave

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,
> liubo

I 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

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-08-02  3:14 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
2012-08-02  3:14       ` Kyle Gates

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).