linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* user_subvol_rm_allowed vs rmdir_subvol
@ 2019-09-08 17:58 Chris Murphy
  2019-09-10  9:28 ` misono.tomohiro
  0 siblings, 1 reply; 3+ messages in thread
From: Chris Murphy @ 2019-09-08 17:58 UTC (permalink / raw)
  To: Btrfs BTRFS

Came across this podman issue yesterday
https://github.com/containers/libpod/issues/3963


Question 1: For unprivileged use case, is it intentional that the user
creates a subvolume/snapshot using 'btrfs sub create' and that the
user delete it with 'rm -rf' ?

And is the consequence of this performance? Because I see rm -rf must
individually remove all files and dirs from the subvolume first,
before rmdir() is called to remove the subvolume. Where as 'btrfs sub
del' calls BTRFS_IOC_SNAP_DESTROY ioctl which is pretty much
immediate, with cleanup happening in the background.


Question 2:

As it relates to the podman issue, what do Btrfs developers recommend?
If kernel > 4.18, and if unprivileged, then use 'rm -rf' to delete
subvolumes? Otherwise use 'btrfs sub del' with root privilege?


Question 3:
man 5 btrfs has a confusing note for user_subvol_rm_allowed mount option:

               Note
               historically, any user could create a snapshot even if
he was not owner of the source subvolume, the subvolume deletion has
been restricted
               for that reason. The subvolume creation has been
restricted but this mount option is still required. This is a
usability issue.

2nd sentence "subvolume creation has been restricted"  I can't parse
that. Is it an error, or can it be worded differently?


-- 
Chris Murphy

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

end of thread, other threads:[~2019-09-10 16:33 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-08 17:58 user_subvol_rm_allowed vs rmdir_subvol Chris Murphy
2019-09-10  9:28 ` misono.tomohiro
2019-09-10 16:32   ` Chris Murphy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).