All of lore.kernel.org
 help / color / mirror / Atom feed
* btrfs subvolume list: what is the meaning of "top level"
@ 2013-11-09 18:10 Goffredo Baroncelli
  2013-11-09 20:18 ` Chris Murphy
  0 siblings, 1 reply; 4+ messages in thread
From: Goffredo Baroncelli @ 2013-11-09 18:10 UTC (permalink / raw)
  To: linux-btrfs

Hi all,

in "btrfs subvolume list" I supposed that "top level" is the subvolume
"father" tree id. But the example below shows that I am wrong.


ghigo@venice:/tmp$ uname -a
Linux venice 3.11.7 #142 SMP Wed Nov 6 19:25:46 CET 2013 x86_64 GNU/Linux
ghigo@venice:/tmp$ sudo mkfs.btrfs /dev/loop0

WARNING! - Btrfs v0.20-rc1 IS EXPERIMENTAL
WARNING! - see http://btrfs.wiki.kernel.org before using

SMALL VOLUME: forcing mixed metadata/data groups
Created a data/metadata chunk of size 8388608
fs created label (null) on /dev/loop0
	nodesize 4096 leafsize 4096 sectorsize 4096 size 1001.00MB
Btrfs v0.20-rc1
ghigo@venice:/tmp$ sudo mount /dev/loop0 t/
ghigo@venice:/tmp$ sudo mkdir t/dir
ghigo@venice:/tmp$ sudo btrfs sub create t/sub1
Create subvolume 't/sub1'
ghigo@venice:/tmp$ sudo btrfs sub create t/dir/sub2
Create subvolume 't/dir/sub2'
ghigo@venice:/tmp$ sudo btrfs sub create t/dir/sub3
Create subvolume 't/dir/sub3'
ghigo@venice:/tmp$ sudo btrfs sub create t/dir/sub3/sub4
Create subvolume 't/dir/sub3/sub4'
ghigo@venice:/tmp$ sudo btrfs sub create t/sub5
Create subvolume 't/sub5'
ghigo@venice:/tmp$ sudo btrfs sub create t/sub5/sub6
Create subvolume 't/sub5/sub6'
ghigo@venice:/tmp$ sudo btrfs sub list t/ | nl
     1	ID 256 gen 5 top level 5 path sub1
     2	ID 257 gen 6 top level 5 path dir/sub2
     3	ID 258 gen 8 top level 5 path dir/sub3
     4	ID 259 gen 8 top level 5 path dir/sub3/sub4
     5	ID 260 gen 10 top level 5 path sub5
     6	ID 261 gen 10 top level 5 path sub5/sub6


I expected that in the line 4, the top level should be 258; the same for
the line 6: top level should be 260. So my question is: what is the
meaning of the "top level" value ?

Thanks.

BR
G.Baroncelli
-- 
gpg @keyserver.linux.it: Goffredo Baroncelli (kreijackATinwind.it>
Key fingerprint BBF5 1610 0B64 DAC6 5F7D  17B2 0EDA 9B37 8B82 E0B5

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

* Re: btrfs subvolume list: what is the meaning of "top level"
  2013-11-09 18:10 btrfs subvolume list: what is the meaning of "top level" Goffredo Baroncelli
@ 2013-11-09 20:18 ` Chris Murphy
  2013-11-10  7:38   ` Goffredo Baroncelli
  0 siblings, 1 reply; 4+ messages in thread
From: Chris Murphy @ 2013-11-09 20:18 UTC (permalink / raw)
  To: linux-btrfs


On Nov 9, 2013, at 11:10 AM, Goffredo Baroncelli <kreijack@inwind.it> wrote:
> 
>     1	ID 256 gen 5 top level 5 path sub1
>     2	ID 257 gen 6 top level 5 path dir/sub2
>     3	ID 258 gen 8 top level 5 path dir/sub3
>     4	ID 259 gen 8 top level 5 path dir/sub3/sub4
>     5	ID 260 gen 10 top level 5 path sub5
>     6	ID 261 gen 10 top level 5 path sub5/sub6

> 
> 
> I expected that in the line 4, the top level should be 258; the same for
> the line 6: top level should be 260. So my question is: what is the
> meaning of the "top level" value ?

If you mount -o subvol=sub5 and then create a new subvolume, and then do a listing, you'll see something like what you describe. It would look something like:

6	ID 262 gen 4 top level 260 path sub6

The "top level" is in a sense a prefix. So top level 5 means there is no prefix, the path listed is the full path. Whereas if the top level is e.g. 260, the implied prefix is sub5/.

If you were to mount subvolid=259 and create a subvolume in at the root of the mountpoint, then do a subvolume listing, it would be listed with top level 259 and a path of merely "newname" rather than dir/sub3/sub4/newname.

So just consider the top level a prefix for the listed path, and if the top level is 5, there is no prefix for path, the path is the full path.


Chris Murphy

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

* Re: btrfs subvolume list: what is the meaning of "top level"
  2013-11-09 20:18 ` Chris Murphy
@ 2013-11-10  7:38   ` Goffredo Baroncelli
  2013-11-10  7:55     ` Goffredo Baroncelli
  0 siblings, 1 reply; 4+ messages in thread
From: Goffredo Baroncelli @ 2013-11-10  7:38 UTC (permalink / raw)
  To: Chris Murphy; +Cc: linux-btrfs

On 2013-11-09 21:18, Chris Murphy wrote:
> 
> On Nov 9, 2013, at 11:10 AM, Goffredo Baroncelli <kreijack@inwind.it>
> wrote:
>> 
>> 1	ID 256 gen 5 top level 5 path sub1 2	ID 257 gen 6 top level 5
>> path dir/sub2 3	ID 258 gen 8 top level 5 path dir/sub3 4	ID 259 gen
>> 8 top level 5 path dir/sub3/sub4 5	ID 260 gen 10 top level 5 path
>> sub5 6	ID 261 gen 10 top level 5 path sub5/sub6
> 
>> 
>> 
>> I expected that in the line 4, the top level should be 258; the
>> same for the line 6: top level should be 260. So my question is:
>> what is the meaning of the "top level" value ?
> 
> If you mount -o subvol=sub5 and then create a new subvolume, and then
> do a listing, you'll see something like what you describe. It would
> look something like:
> 
> 6	ID 262 gen 4 top level 260 path sub6
> 
> The "top level" is in a sense a prefix. So top level 5 means there is
> no prefix, the path listed is the full path. Whereas if the top level
> is e.g. 260, the implied prefix is sub5/.

Chris, many thanks, not it is clear.

> 
> If you were to mount subvolid=259 and create a subvolume in at the
> root of the mountpoint, then do a subvolume listing, it would be
> listed with top level 259 and a path of merely "newname" rather than
> dir/sub3/sub4/newname.
> 
> So just consider the top level a prefix for the listed path, and if
> the top level is 5, there is no prefix for path, the path is the full
> path.
> 
> 
> Chris Murphy-- 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
> 


-- 
gpg @keyserver.linux.it: Goffredo Baroncelli (kreijackATinwind.it>
Key fingerprint BBF5 1610 0B64 DAC6 5F7D  17B2 0EDA 9B37 8B82 E0B5

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

* Re: btrfs subvolume list: what is the meaning of "top level"
  2013-11-10  7:38   ` Goffredo Baroncelli
@ 2013-11-10  7:55     ` Goffredo Baroncelli
  0 siblings, 0 replies; 4+ messages in thread
From: Goffredo Baroncelli @ 2013-11-10  7:55 UTC (permalink / raw)
  To: kreijack; +Cc: linux-btrfs

On 2013-11-10 08:38, Goffredo Baroncelli wrote:
> On 2013-11-09 21:18, Chris Murphy wrote:
>>
[..]

> Chris, many thanks, not it is clear.

s/not/now/

Sorry :-)

GB


-- 
gpg @keyserver.linux.it: Goffredo Baroncelli (kreijackATinwind.it>
Key fingerprint BBF5 1610 0B64 DAC6 5F7D  17B2 0EDA 9B37 8B82 E0B5

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

end of thread, other threads:[~2013-11-10  7:55 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-09 18:10 btrfs subvolume list: what is the meaning of "top level" Goffredo Baroncelli
2013-11-09 20:18 ` Chris Murphy
2013-11-10  7:38   ` Goffredo Baroncelli
2013-11-10  7:55     ` Goffredo Baroncelli

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.