Re: find snapshot parent?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 6.07.19 г. 18:53 ч., Ulli Horlacher wrote:
> Is there a standard way to find the path of the subvolume parent of a
> snapshot? 
> 
> For example:
> 
> root@xerus:/test# btrfs sub list /test
> ID 269 gen 9818 top level 5 path tux/test
> ID 1026 gen 9804 top level 1011 path tmp/xx/ss1
> ID 1027 gen 9804 top level 1011 path tmp/xx/ss2
> 
> root@xerus:/test# btrfs subvolume show /test/tmp
> /test/tmp
>         Name:                   tmp
>         UUID:                   5a873eca-9b6c-fc4e-aed5-eb287839d693
>         Parent UUID:            -
>         Received UUID:          -
>         Creation time:          2019-07-04 00:17:11 +0200
>         Subvolume ID:           1011
>         Generation:             9813
>         Gen at creation:        9749
>         Parent ID:              5
>         Top level ID:           5
>         Flags:                  -
>         Snapshot(s):
>                                 xx/ss1
>                                 xx/ss2
> 
> root@xerus:/test# btrfs subvolume show /test/tmp/xx/ss1
> /test/tmp/xx/ss1
>         Name:                   ss1
>         UUID:                   3641bb81-d1fd-4440-8f29-6f17ff9ec4e1
>         Parent UUID:            5a873eca-9b6c-fc4e-aed5-eb287839d693
>         Received UUID:          -
>         Creation time:          2019-07-05 11:13:15 +0200
>         Subvolume ID:           1026
>         Generation:             9804
>         Gen at creation:        9793
>         Parent ID:              1011
>         Top level ID:           1011
>         Flags:                  readonly
>         Snapshot(s):
> 
> Must I call "btrfs subvolume show" for every subvolume to find the
> matching Parent ID/UUID or parse the "Snapshot(s)" section?

That seems to be the way, looking at code for the Snapshot(s) section it
iterates every subvolume and checks if its Parent UUID matches the UUID
of the subvolume - if yes it adds that particular subvol (snapshots are
subvolumes with a parent) to the "SNapshot(s)" section.

> 
> And how can I see whether /test/tmp/xx/ss1 is a snapshot at all?
> Do all snapshots have a "Parent UUID" and regular subvolumes not?

Indeed, only snapshots have a Parent UUID.

> 



[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux