Re: btrfs fi df won't show total=

2012-07-12 Thread Andrei Popa
On Tue, 2012-07-10 at 00:52 +0300, Ilya Dryomov wrote: 
> mkfs creates those non-raid chunks for a pretty stupid reason, they
> really shouldn't be there if you create a raid10 fs.  Balance does the
> right thing and removes them.  Fixing this along with another mkfs
> annoyance related to this one is on my TODO list.

Hi Ilya,

I've also studied this bug and found where the problem is, if this will
help you:

In mkfs.c, "make_root_dir" function creates the first system and
metadata chunk:
ret = btrfs_make_block_group(trans, root, bytes_used,
 BTRFS_BLOCK_GROUP_SYSTEM,
 BTRFS_FIRST_CHUNK_TREE_OBJECTID,
 0, BTRFS_MKFS_SYSTEM_GROUP_SIZE);

ret = btrfs_alloc_chunk(trans,
root->fs_info->extent_root,
&chunk_start, &chunk_size,
BTRFS_BLOCK_GROUP_METADATA |
BTRFS_BLOCK_GROUP_DATA);
BUG_ON(ret);
ret = btrfs_make_block_group(trans, root, 0,
 BTRFS_BLOCK_GROUP_METADATA
|
 BTRFS_BLOCK_GROUP_DATA,

BTRFS_FIRST_CHUNK_TREE_OBJECTID,
 chunk_start, chunk_size);

And these chunks are created again in "create_raid_groups" function.
Both functions, "make_root_dir" and "create_raid_groups" are called from
"main" function.

Andrei 

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: btrfs fi df won't show total=

2012-07-09 Thread Ilya Dryomov
On Mon, Jul 09, 2012 at 10:06:24PM +0200, Jan Engelhardt wrote:
> 
> On Monday 2012-07-09 21:25, Hugo Mills wrote:
> >On Mon, Jul 09, 2012 at 09:14:03PM +0200, Jan Engelhardt wrote:
> >> 
> >> On openSUSE_12.1 with Btrfs v0.19+20120406, the following can be
> >> observed: after a change of the profiles, total=,used= is no
> >> longer shown:
> >> 
> >> 20:49 mmsrv1:~ # btrfs fi df /top.srv/
> >> Data, RAID10: total=152.00GiB, used=121.07GiB
> >> System, RAID1: total=40.00MiB, used=44.00KiB
> >> System: total=4.00MiB, used=0.00
> >> Metadata, RAID1: total=112.00GiB, used=1.30GiB
> >> Metadata: total=8.00MiB, used=0.00
> >>[...]
> >> 21:10 mmsrv1:~ # btrfs fi df /top.srv/
> >> Data, RAID10: total=156.00GiB, used=124.35GiB
> >> System, RAID10: total=128.00MiB, used=48.00KiB
> >> System: total=4.00MiB, used=0.00
> >> Metadata, RAID10: total=112.00GiB, used=1.38GiB
> >
> >   What's the problem here? You no longer have any RAID1 chunks, so
> >it's not showing them.
> 
> Rather tha a 4-line output, I would have expected this 6-line output
> that I would also get when mkfs'ing a new fresh btrfs volume with
> raid10 from the start:
> 
> Data, RAID10: total=156.00GiB, used=124.35GiB
> Data: total=foo, used=bar
> System, RAID10: total=128.00MiB, used=48.00KiB
> System: total=4.00MiB, used=0.00
> Metadata, RAID10: total=112.00GiB, used=1.38GiB
> Metadata: total=foo, used=bar

mkfs creates those non-raid chunks for a pretty stupid reason, they
really shouldn't be there if you create a raid10 fs.  Balance does the
right thing and removes them.  Fixing this along with another mkfs
annoyance related to this one is on my TODO list.

Thanks,

Ilya
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: btrfs fi df won't show total=

2012-07-09 Thread Hugo Mills
On Mon, Jul 09, 2012 at 10:06:24PM +0200, Jan Engelhardt wrote:
> 
> On Monday 2012-07-09 21:25, Hugo Mills wrote:
> >On Mon, Jul 09, 2012 at 09:14:03PM +0200, Jan Engelhardt wrote:
> >> 
> >> On openSUSE_12.1 with Btrfs v0.19+20120406, the following can be
> >> observed: after a change of the profiles, total=,used= is no
> >> longer shown:
> >> 
> >> 20:49 mmsrv1:~ # btrfs fi df /top.srv/
> >> Data, RAID10: total=152.00GiB, used=121.07GiB
> >> System, RAID1: total=40.00MiB, used=44.00KiB
> >> System: total=4.00MiB, used=0.00
> >> Metadata, RAID1: total=112.00GiB, used=1.30GiB
> >> Metadata: total=8.00MiB, used=0.00
> >>[...]
> >> 21:10 mmsrv1:~ # btrfs fi df /top.srv/
> >> Data, RAID10: total=156.00GiB, used=124.35GiB
> >> System, RAID10: total=128.00MiB, used=48.00KiB
> >> System: total=4.00MiB, used=0.00
> >> Metadata, RAID10: total=112.00GiB, used=1.38GiB
> >
> >   What's the problem here? You no longer have any RAID1 chunks, so
> >it's not showing them.
> 
> Rather tha a 4-line output, I would have expected this 6-line output
> that I would also get when mkfs'ing a new fresh btrfs volume with
> raid10 from the start:
> 
> Data, RAID10: total=156.00GiB, used=124.35GiB
> Data: total=foo, used=bar
> System, RAID10: total=128.00MiB, used=48.00KiB
> System: total=4.00MiB, used=0.00
> Metadata, RAID10: total=112.00GiB, used=1.38GiB
> Metadata: total=foo, used=bar

   The lines without the RAID marker are there as a result of the way
that mkfs works -- it creates stub chunks which are never used, and
then upgrades to the required RAID level immediately afterwards.

   The balance (any balance, not just a conversion) processes these
chunks as well as all the other chunks in the FS, and rewrites all of
the data in them (all 0 bytes of it) somewhere else, removing the
originals.

   Hugo.

-- 
=== Hugo Mills: hugo@... carfax.org.uk | darksatanic.net | lug.org.uk ===
  PGP key: 515C238D from wwwkeys.eu.pgp.net or http://www.carfax.org.uk
   --- Well, you don't get to be a kernel hacker simply by looking ---   
good in Speedos. -- Rusty Russell


signature.asc
Description: Digital signature


Re: btrfs fi df won't show total=

2012-07-09 Thread Jan Engelhardt

On Monday 2012-07-09 21:25, Hugo Mills wrote:
>On Mon, Jul 09, 2012 at 09:14:03PM +0200, Jan Engelhardt wrote:
>> 
>> On openSUSE_12.1 with Btrfs v0.19+20120406, the following can be
>> observed: after a change of the profiles, total=,used= is no
>> longer shown:
>> 
>> 20:49 mmsrv1:~ # btrfs fi df /top.srv/
>> Data, RAID10: total=152.00GiB, used=121.07GiB
>> System, RAID1: total=40.00MiB, used=44.00KiB
>> System: total=4.00MiB, used=0.00
>> Metadata, RAID1: total=112.00GiB, used=1.30GiB
>> Metadata: total=8.00MiB, used=0.00
>>[...]
>> 21:10 mmsrv1:~ # btrfs fi df /top.srv/
>> Data, RAID10: total=156.00GiB, used=124.35GiB
>> System, RAID10: total=128.00MiB, used=48.00KiB
>> System: total=4.00MiB, used=0.00
>> Metadata, RAID10: total=112.00GiB, used=1.38GiB
>
>   What's the problem here? You no longer have any RAID1 chunks, so
>it's not showing them.

Rather tha a 4-line output, I would have expected this 6-line output
that I would also get when mkfs'ing a new fresh btrfs volume with
raid10 from the start:

Data, RAID10: total=156.00GiB, used=124.35GiB
Data: total=foo, used=bar
System, RAID10: total=128.00MiB, used=48.00KiB
System: total=4.00MiB, used=0.00
Metadata, RAID10: total=112.00GiB, used=1.38GiB
Metadata: total=foo, used=bar
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: btrfs fi df won't show total=

2012-07-09 Thread Hugo Mills
On Mon, Jul 09, 2012 at 09:14:03PM +0200, Jan Engelhardt wrote:
> 
> On openSUSE_12.1 with Btrfs v0.19+20120406, the following can be
> observed: after a change of the profiles, total=,used= is no
> longer shown:
> 
> 
> 20:49 mmsrv1:~ # btrfs fi df /top.srv/
> Data, RAID10: total=152.00GiB, used=121.07GiB
> System, RAID1: total=40.00MiB, used=44.00KiB
> System: total=4.00MiB, used=0.00
> Metadata, RAID1: total=112.00GiB, used=1.30GiB
> Metadata: total=8.00MiB, used=0.00
> 20:50 mmsrv1:~ # btrfs fi bal start -mconvert=raid10 -sconvert=raid10 
> /top.srv/
> Refusing to explicitly operate on system chunks.
> Pass --force if you really want to do that.
> 20:52 mmsrv1:~ # btrfs fi bal start -mconvert=raid10 -sconvert=raid10 
> --force /top.srv/
> ...
> 21:10 mmsrv1:~ # btrfs fi df /top.srv/
> Data, RAID10: total=156.00GiB, used=124.35GiB
> System, RAID10: total=128.00MiB, used=48.00KiB
> System: total=4.00MiB, used=0.00
> Metadata, RAID10: total=112.00GiB, used=1.38GiB

   What's the problem here? You no longer have any RAID1 chunks, so
it's not showing them.

   Hugo.

-- 
=== Hugo Mills: hugo@... carfax.org.uk | darksatanic.net | lug.org.uk ===
  PGP key: 515C238D from wwwkeys.eu.pgp.net or http://www.carfax.org.uk
 --- IMPROVE YOUR ORGANISMS!!  -- Subject line of spam email --- 


signature.asc
Description: Digital signature


btrfs fi df won't show total=

2012-07-09 Thread Jan Engelhardt

On openSUSE_12.1 with Btrfs v0.19+20120406, the following can be
observed: after a change of the profiles, total=,used= is no
longer shown:


20:49 mmsrv1:~ # btrfs fi df /top.srv/
Data, RAID10: total=152.00GiB, used=121.07GiB
System, RAID1: total=40.00MiB, used=44.00KiB
System: total=4.00MiB, used=0.00
Metadata, RAID1: total=112.00GiB, used=1.30GiB
Metadata: total=8.00MiB, used=0.00
20:50 mmsrv1:~ # btrfs fi bal start -mconvert=raid10 -sconvert=raid10 
/top.srv/
Refusing to explicitly operate on system chunks.
Pass --force if you really want to do that.
20:52 mmsrv1:~ # btrfs fi bal start -mconvert=raid10 -sconvert=raid10 
--force /top.srv/
...
21:10 mmsrv1:~ # btrfs fi df /top.srv/
Data, RAID10: total=156.00GiB, used=124.35GiB
System, RAID10: total=128.00MiB, used=48.00KiB
System: total=4.00MiB, used=0.00
Metadata, RAID10: total=112.00GiB, used=1.38GiB

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html