kdave / btrfs-progs

Development of userspace BTRFS tools
GNU General Public License v2.0
527 stars 239 forks source link

Delete by ID in btrfsutil #752

Closed CorrosiveTruths closed 4 months ago

CorrosiveTruths commented 4 months ago

This would be very useful in btrfsutil to avoid needing the filesystem toplevel mounted somewhere for snapshots not reachable otherwise, and simplify needing to build paths where things are mounted otherwise.

Hoping this is planned. Or if not, I'd like to request this.

(I'm writing a thing to manage snapshots, and deleting by subvolume path is complicating things, but I can just cheat and call btrfs directly)

kdave commented 4 months ago

The util library is lagging behind feature parity and API completeness, the deletion by id is supported on command line so this should be in the lib too. There's a planned updated https://github.com/kdave/btrfs-progs/issues/574 , what's holding it back is that once the C library updates the python bindings should too. However it turned out to be more difficult than I'm able to do. The C and python feature support should be the same for a given version, so to movel things forward I think that the python bindings version would stay while the C library increments version accordingly.

It should be possible to provide the updated libbtrfsutil within the experimental mode with all new functions implemented but it could also become problematic once the new library is installed and then downgraded and applications already linked to it.

kdave commented 4 months ago

I've checked the exported symbols, there's btrfs_util_delete_subvolume_by_id_fd, does it work for you?

CorrosiveTruths commented 4 months ago

Hi @kdave; I should have said, it's a python project on my end, so it would be those bindings I'd be looking for, but it is just a nice-to-have for me and the intention to keep feature support parity where possible is a good thing to hear.

Will close this now, thanks for explaining, it is most appreciated.