Skip to contentSkip to conversation

Deleting subvolumes - there be dragons

DISCUSSION KC 3 participants 3 messages Jan 29, 2014 Btrfs file system

lore
Share & tools
lore

KC

author
#0 lore raw

I just read this article here: https://lwn.net/Articles/579009/ which states:

---------------------------------
btrfs subvolume delete path

For ordinary subvolumes (as opposed to snapshots, described below),
the subvolume indicated by path must be empty before it can be deleted.
---------------------------------

So I gave it a try:

$ sudo btrfs subvolume create /home2
$ sudo mkdir /home2/lalala
< copy a random pdf file into /home2/lalala) >
$ sudo btrfs subvolume delete /home2

And boom! It's all gone!
Even though subvolume was not empty.

So apart from the fact that it looks like the article is wrong here, it seems very dangerous to me that one simple command can nuke an entire volume, even if it's full of files and folders.

Of course I'm new to btrfs so maybe I'm reading something wrong. If so, then please do set me straight.

#1 lore raw
Quoted 10 lines · KC

I just read this article here: https://lwn.net/Articles/579009/
which states:

---------------------------------
btrfs subvolume delete path

For ordinary subvolumes (as opposed to snapshots, described below),
the subvolume indicated by path must be empty before it can be deleted.
---------------------------------

As you have found, that's not correct. In fact, there's a couple of
potentially misleading things in that article, just from skimming the first few paragraphs...

Quoted 7 lines

So I gave it a try:

$ sudo btrfs subvolume create /home2
$ sudo mkdir /home2/lalala
< copy a random pdf file into /home2/lalala) >
$ sudo btrfs subvolume delete /home2
Quoted 6 lines

And boom! It's all gone!
Even though subvolume was not empty.

So apart from the fact that it looks like the article is wrong here, it seems very dangerous to me that one simple command can nuke an entire volume, even if it's full of files and folders.

You can do the same thing with rm -rf on any filesystem. So yes,
it's a dangerous command, and you need to be sure you want to run it.

Quoted 2 lines

Of course I'm new to btrfs so maybe I'm reading something wrong. If so, then please do set me straight.

No, I think the author of the article is just mistaken.

Hugo.

Signature · 4 lines
=== Hugo Mills: hugo@... carfax.org.uk | darksatanic.net | lug.org.uk ===
  PGP key: 65E74AC0 from wwwkeys.eu.pgp.net or http://www.carfax.org.uk
    --- You can't expect a boy to be depraved until he's gone to ---     
                             a good school.                              
#2 lore raw
In reply to KC
Quoted 7 lines · KC

I just read this article here: https://lwn.net/Articles/579009/ which states:

---------------------------------
btrfs subvolume delete path

For ordinary subvolumes (as opposed to snapshots, described below), the subvolume indicated by path must be empty before it can be deleted.
---------------------------------

That's not correct, but maybe the author meant that a subvolume you intend to delete must not contain another subvolume. A subvolume in another subvolume will anchor the parent.

Chris Murphy