From 502e2a3510c5db03335c0df8abc7f9804a65207b Mon Sep 17 00:00:00 2001 From: Omar Sandoval Date: Thu, 15 Feb 2018 11:04:47 -0800 Subject: Add libbtrfsutil Currently, users wishing to manage Btrfs filesystems programatically have to shell out to btrfs-progs and parse the output. This isn't ideal. The goal of libbtrfsutil is to provide a library version of as many of the operations of btrfs-progs as possible and to migrate btrfs-progs to use it. Rather than simply refactoring the existing btrfs-progs code, the code has to be written from scratch for a couple of reasons: * A lot of the btrfs-progs code was not designed with a nice library API in mind in terms of reusability, naming, and error reporting. * libbtrfsutil is licensed under the LGPL, whereas btrfs-progs is under the GPL, which makes it dubious to directly copy or move the code. Eventually, most of the low-level btrfs-progs code should either live in libbtrfsutil or the shared kernel/userspace filesystem code, and btrfs-progs will just be the CLI wrapper. This first commit just includes the build system changes, license, README, and error reporting helper. Signed-off-by: Omar Sandoval Reviewed-by: Liu Bo Signed-off-by: David Sterba --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) (limited to '.gitignore') diff --git a/.gitignore b/.gitignore index 4abd3ee5..14bc5a76 100644 --- a/.gitignore +++ b/.gitignore @@ -42,6 +42,8 @@ libbtrfs.so.0 libbtrfs.so.0.1 library-test library-test-static +/libbtrfsutil.so* +/libbtrfsutil.a /fssum testsuite-id -- cgit v1.2.3