Thread (4 messages) 4 messages, 2 authors, 2016-01-28

Re: btrfs subvolume list -o does not behave as expected

From: Daniel E. Shub <hidden>
Date: 2016-01-28 22:08:55

On Wed, Jan 27, 2016 at 6:33 PM, Chris Murphy [off-list ref] wrote:
On Wed, Jan 27, 2016 at 2:09 PM, Daniel E. Shub [off-list ref] wrote:
quoted
I am experiencing what I think might be a bug with: btrfs subvolume list -o

I reported it at https://bugzilla.kernel.org/show_bug.cgi?id=109861,
but have read that bugs should be sent to the mailing list also.

My root file system is on a btrfs partition and I have created btrfs
subvolumes in /chroot and /var/lib. The following behavior seems
incorrect

# btrfs subvolume list -o /chroot
ID 593 gen 6616 top level 5 path chroot/base-devel/root
ID 594 gen 6618 top level 5 path chroot/multilib-devel/root
ID 595 gen 6620 top level 5 path chroot/base/root
ID 597 gen 6624 top level 5 path chroot/twm/root
ID 599 gen 6628 top level 5 path chroot/lxde/root
ID 601 gen 6655 top level 5 path chroot/wheezy/root
ID 602 gen 6684 top level 5 path chroot/sid/root
ID 603 gen 6862 top level 5 path var/lib/machines

The man page for btrfs subvolume says
  -o print only subvolumes below specified <path>.

so I expected to only see the subvolumes below /chroot and to not see
/var/lib/machines/.

I am running Arch Linux with the 4.2.5 kernel and btrfs-progs v4.3.1.
I agree that it's confusing because of the word <path>. It may
actually be a bug in documentation setting up the wrong expectation.

If chroot were a subvolume, this would work as you expect. Since
chroot is a directory, in effect it's a request to show all subvolumes
on the fs-tree that this directory is on, i.e. subvolume id 5, which
would be all subvolumes. Whereas if chroot were a subvolume, the -o
would limit results to subvolumes having a top level at or below the
subvolume ID of chroot.

I think.


--
Chris Murphy
It seems like it would be much clearer if the -o option took a
subvolume id instead of a path.

The reason I was trying to get the list of subvolumes below /chroot/
was I want to delete the chroot directory. How can I do that?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help