Skip to content

libbtrfsutil API update #574

Open
Open
@kdave

Description

@kdave

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..

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions