libbtrfsutil API update
The libbtrrfsutil API needs to be updated as more applications use it, instead of raw ioctls. There are a few aspects of the update:
Completeness
Add new functions to cover more functionality, easy ones like simple ioctl wrapper or for more complex functionality, basically covering the btrfs commands (adapted for a library interface).
Naming unification
Currently there is no unified naming, like prefix_object_action that can be found e.g. in util-linux related libraries. So add aliases for existing functions that follow that. For example: btrfs_util_create_subvolume -> btrfs_util_subvolume_create. The objects are: fs, subvolume, device, quota, qgroup. Actions are for example: create, delete, set, get. Actions that typically affect the whole filesystem should go under 'fs', but e.g. send can be a object substitute too.
Versioning
The first update will try to establish the naming and verify that it'll work so probably will be just the minor update 1.3. After that a major library may be done (though technically this can be still 1.x due to backward compatibility).
Python bindings
The bindings are ~~should have~~ must have for each new library call. How to do that is briefly described at https://github.com/kdave/btrfs-progs/tree/master/libbtrfsutil#extending-api
Incremental updates
Updates wil be probably provided under the experimental mode protection..
Aliases added in 1.3.