Linux Btrfs filesystem development
 help / color / mirror / Atom feed
* list all subvolumes below given path?
@ 2024-05-14  7:22 Ulli Horlacher
  2024-05-14  8:11 ` Andrei Borzenkov
  0 siblings, 1 reply; 3+ messages in thread
From: Ulli Horlacher @ 2024-05-14  7:22 UTC (permalink / raw)
  To: linux-btrfs


I need to know all subvolumes below a given path.

An example:

/local/test is a subvolume of /local and contains some subvolumes itself:

root@fex:/local/test# mount | grep /local
/dev/sde1 on /local type btrfs (rw,relatime,space_cache,user_subvol_rm_allowed,subvolid=5,subvol=/)


This works but it is very slow on BIG filesystems:

root@fex:/local/test# find . -inum 256
.
./sv1
./sv1/sv1_1
./sv1/sv1_1/ss
./sv1/sv1_2
./sv2


This does not list sub-subvolumes and it contains the whole path up to the
btrfs root subvolume:

root@fex:/local/test# btrfs subvolume list -o .
ID 62531 gen 6079120 top level 62530 path test/sv1
ID 62532 gen 6079120 top level 62530 path test/sv2


This lists all subvolumes of the filesystem:

root@fex:/local/test# btrfs subvolume list .
ID 350 gen 6079851 top level 5 path home
ID 505 gen 6079123 top level 350 path home/smc/test
ID 621 gen 6079123 top level 350 path home/framstag/blubb
ID 2524 gen 3666531 top level 621 path home/framstag/blubb/.snapshot/2017-12-02_1026.test
ID 18082 gen 3666531 top level 621 path home/framstag/blubb/.snapshot/2019-07-18_0139.test
ID 18091 gen 6079833 top level 5 path tmp/test
ID 27760 gen 3666531 top level 621 path home/framstag/blubb/.snapshot/2020-07-10_1123.test
ID 36104 gen 3666531 top level 621 path home/framstag/blubb/.snapshot/2021-05-31_1052.test
ID 60430 gen 5849702 top level 621 path home/framstag/blubb/.snapshot/2024-02-16_1148.test
ID 62480 gen 6073978 top level 350 path home/.snapshot/2024-05-11_0000.daily
ID 62504 gen 6073978 top level 350 path home/.snapshot/2024-05-12_0000.weekly
ID 62530 gen 6079831 top level 5 path test
ID 62531 gen 6079120 top level 62530 path sv1
ID 62532 gen 6079120 top level 62530 path sv2
ID 62533 gen 6079120 top level 62531 path sv1/sv1_1
ID 62534 gen 6079120 top level 62531 path sv1/sv1_2
ID 62540 gen 6076249 top level 350 path home/.snapshot/2024-05-13_0000.daily
ID 62545 gen 6076377 top level 62533 path sv1/sv1_1/ss
ID 62565 gen 6078533 top level 350 path home/.snapshot/2024-05-13_2100.hourly
ID 62566 gen 6078643 top level 350 path home/.snapshot/2024-05-13_2200.hourly
ID 62567 gen 6078751 top level 350 path home/.snapshot/2024-05-13_2300.hourly
ID 62568 gen 6078859 top level 350 path home/.snapshot/2024-05-14_0000.daily
ID 62569 gen 6078967 top level 350 path home/.snapshot/2024-05-14_0100.hourly
ID 62570 gen 6079075 top level 350 path home/.snapshot/2024-05-14_0200.hourly
ID 62571 gen 6079183 top level 350 path home/.snapshot/2024-05-14_0300.hourly
ID 62572 gen 6079292 top level 350 path home/.snapshot/2024-05-14_0400.hourly
ID 62573 gen 6079401 top level 350 path home/.snapshot/2024-05-14_0500.hourly
ID 62574 gen 6079509 top level 350 path home/.snapshot/2024-05-14_0600.hourly
ID 62575 gen 6079617 top level 350 path home/.snapshot/2024-05-14_0700.hourly
ID 62576 gen 6079725 top level 350 path home/.snapshot/2024-05-14_0800.hourly
ID 62577 gen 6079833 top level 350 path home/.snapshot/2024-05-14_0900.hourly

How do I know which subvolumes are below $PWD ?


-- 
Ullrich Horlacher              Server und Virtualisierung
Rechenzentrum TIK
Universitaet Stuttgart         E-Mail: horlacher@tik.uni-stuttgart.de
Allmandring 30a                Tel:    ++49-711-68565868
70569 Stuttgart (Germany)      WWW:    https://www.tik.uni-stuttgart.de/
REF:<20240514072238.GA110925@tik.uni-stuttgart.de>

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

end of thread, other threads:[~2024-05-14  9:33 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-14  7:22 list all subvolumes below given path? Ulli Horlacher
2024-05-14  8:11 ` Andrei Borzenkov
2024-05-14  9:33   ` Ulli Horlacher

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox