Commit Graph

108 Commits

Author SHA1 Message Date
Kent Overstreet
f06b01e9ea Update bcachefs sources to b964c6cba8 bcachefs: Change lockrestart_do() to always call bch2_trans_begin() 2021-07-28 17:26:50 -04:00
jpsollie
cb09c48a26 fixup! rst2man detection hangs
rst2man tend to hang when called without arguments, so a small -V is appended to print the version.
Also, make sure we found at least one rst2man executable

Signed-off-by: jpsollie <janpieter.sollie@edpnet.be>
2021-07-24 17:10:10 -04:00
jpsollie
0b0b0ee234 Reapply compiler checks
The compiler checks where erroneously reverted in the Makefile - this reapplies them,
so GCC < 10 can still build the bcachefs tools

Signed-off-by: jpsollie <janpieter.sollie@edpnet.be>
2021-07-24 17:10:10 -04:00
Stijn Tintel
05c9879524 Makefile: detect rst2man
On some distros, rst2man has a .py extension and there is no rst2man.
Fix build on such systems by detecting what is available.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2021-07-24 14:18:40 -04:00
Kent Overstreet
632feaa69a Bring back debug makefile target
This seems to have been dropped by mistake

Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2021-07-23 18:06:02 -04:00
Brett Holman
8e6f35cbf3 Documentation fixup: made filenames more descriptive, switched parsing utility to python 2021-07-10 13:51:03 -04:00
jpsollie
54d44fe56b add bcachefs xor / xxhash support
Following the initial xxhash / xor checksum support patches in kernel, bcachefs-tools needs some updated libraries as well.
Unfortunately, xor functionality is deeply linked into several low-level functions, so we're adding a set of patches here to translate those into userspace

Signed-off-by: Janpieter Sollie <janpieter.sollie@edpnet.be>
2021-07-07 20:30:39 -04:00
Kent Overstreet
8e07f30cd7 Fix some makefile misspellings
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2021-07-06 13:41:31 -04:00
Brett Holman
b916af97dd Switched documentation from asciidoc to rst, added doc autogeneration code for options 2021-07-06 00:15:44 -06:00
Kent Overstreet
07ec713e05 Update bcachefs sources to 1a510b00b6 bcachefs: Increase BTREE_TRANS_MEM_MAX 2021-07-04 23:33:54 -04:00
jpsollie
d228e43048 Cleanup Makefile for better compatibility + enable "make debug"
- clean up Makefile to improve compiler compatibility
- add a "Make debug" target for easier debug builds
- update INSTALL
- fix six.c when running "make debug" against GCC 9 (maybe-uninitialized)

Signed-off by: Janpieter Sollie <janpieter.sollie@edpnet.be>
2021-06-13 01:14:47 -04:00
Stijn Tintel
cec9ecc7e0 Makefile: rename D to BCACHEFS_DEBUG
BCACHEFS_DEBUG is far more descriptive. D also conflicts with the D
variable used in Gentoo ebuilds.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2021-05-24 23:34:38 +03:00
Brett Holman
9c0dc7b8d4 minor fixes for clang support 2021-05-19 23:26:13 -04:00
Kent Overstreet
a2094890a9 Update bcachefs sources to 18686af684 bcachefs: Inode backpointers 2021-03-29 00:22:38 -04:00
Kent Overstreet
dd707c9bfd Update bcachefs sources to 0010403265 bcachefs: Fix spurious alloc errors on forced shutdown 2020-12-03 13:13:53 -05:00
Kent Overstreet
eff87a4c44 Build with -Wno-zero_length_bounds
Copying the linux kernel build settings
2020-10-15 22:54:22 -04:00
Kent Overstreet
487ddeb03c Add a shell script version of mount.bcachefs
Sadly, some people are still running distributions too old to properly
support rust :( In the long term we'd like to use Rust for more of
userspace (and potentially in the kernel); this is just a stopgap
measure.
2020-08-24 23:17:17 -04:00
Kent Overstreet
9b3a770ae3 make D=1 now implies valgrind
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2020-08-24 16:27:42 -04:00
Kent Overstreet
21ade39653 Initial WIP new user's manual 2020-07-25 16:20:56 -04:00
Kent Overstreet
34c9be19b3 Update bcachefs sources to e1f6739c4a bcachefs: Fix another iterator counting bug 2020-05-14 21:48:52 -04:00
Kent Overstreet
f55b90dec9 Don't build mount.bcachefs by default
So as not to depend on rust yet
2020-05-08 21:25:12 -04:00
Yuxuan Shui
57ada395b2 Add a mount.bcachefs tool
This tool currently has most of the fundmental features implemented.
It can mount a filesystem specified by uuid, it can ask password for an
encrypted filesystem.

There may be some work that needs to be done to make it behave more like
a "mount.*" tool.

Related: #1

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-05-05 21:33:40 +01:00
Kent Overstreet
9073be1298 Don't use pkgconfig for libkeyutils
Centos 7 has an old version that doesn't have the .pc file
2020-04-23 21:16:05 -04:00
Kent Overstreet
2bd18f4bae Use pkgconfig for libkeyutils 2020-03-25 16:01:38 -04:00
Justin Husted
3b8db3d7be bcachefs-tools: Add a smoke test master script.
This script builds and runs with various options to enable easy test
coverage.

Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-12-28 17:08:10 -08:00
Brendon Boldt
7beefecf44 Add Fedora, Ubuntu, Arch info to INSTALL
Add fuse3 (>=3.7) version to Makefile
2019-12-06 11:19:42 -05:00
Kent Overstreet
f712a866a4 Put valgrind support behind CONFIG_VALGRIND 2019-12-04 17:49:34 -05:00
Justin Husted
a00998c4cd Make fuse3 support optional and document.
The experimental fuse3 support is not complete yet, and fuse3 is new and
still difficult to install on some platforms.

Make it optional at compile time, and default to off.

Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-11-11 12:18:22 -08:00
Justin Husted
4ed889295c Add makefile support for tags.
Also, update .gitignore for various things.

Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-11-04 21:23:46 -08:00
Justin Husted
61bc316a4d Initial version of bcachefs tests.
So far, these tests just test basic format, fsck, and list functions
under valgrind, as well as a few self-validation tests.

Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-11-03 23:17:43 -05:00
Kent Overstreet
bc45c28470 fuse 2019-10-18 16:23:39 -04:00
Kent Overstreet
8b02f791c3 Build with -fno-delete-null-pointer-checks
Some of the code we use from the Linux kernel won't build correctly
without this...
2019-08-27 13:33:57 -04:00
Danilo Spinella
54badc02f7 Add PKG_CONFIG variable and replace pkg-config
Respect pkg-config value from environment.
2019-03-10 10:26:42 +00:00
Danilo Spinella
70e29e35f2 Fix PREFIX variable assignement 2019-03-10 10:26:42 +00:00
Tim Schlueter
b821144deb Abort compilation early if pkg-config fails 2019-01-14 00:42:42 -08:00
Tim Schlueter
bdeffdf3c7 Replaced mkdir -p with install -D in make install
Also added a comment about the bcachefs utility to the initramfs hook
2019-01-13 19:31:04 -08:00
Tim Schlueter
079e6ab647 Only run pkg-config once in Makefile, added EXTRA linker vars
* Only run the pkg-config --cflags command once (instead of every .c file)
* Added EXTRA_LDFLAGS and EXTRA_LDLIBS vars
* Removed tabs in the middle of commands to make it easier to manually re-run
  commands manually (e.g. if a compilation fails)
* Replaced `cd dir; git command` in favor of $(shell git -C dir command)
* Minor version format change: dirty trees just append "+" instead of "-dirty"
  and if git describe fails, it now sets the version to "v0.1-nogit"

Also, don't ignore .gitignore files.
2019-01-13 19:31:04 -08:00
Kent Overstreet
c416528eaa snapraid 2018-11-23 02:10:44 -05:00
Tim Schlueter
8418a9f367 Don't add commit id to version when building from a tag 2018-05-27 12:39:05 -07:00
Tim Schlueter
a5d94ce0a8 Added 'version' command to print when the bcachefs tool was built 2018-05-26 14:32:30 -07:00
Kent Overstreet
84e8950cc7 Switch to liblz4 2018-05-17 02:45:49 -04:00
Kent Overstreet
807abf36c1 Update bcachefs sources to e99d29e402 bcachefs: zstd support, compression refactoring 2018-02-16 18:13:24 -05:00
Tim Schlueter
3c85d9f009 Set debian/compat to 10
* Compat level 10 allows parallel builds by default.
	* Also changed debuild to use short arguments.
	* Long arguments weren't supported until dpkg-dev 1.18.8.
2018-02-11 15:32:34 -08:00
Kent Overstreet
813862a47c add -c to cmd_unlock, to check if a device needs to be unlocked 2018-02-11 14:25:33 -05:00
Leah Neukirchen
6c9e9b675c Makefile: default PREFIX to /usr/local 2018-02-09 16:33:26 +01:00
Austin Seipp
997bb216aa build: require explicit include paths for libbcachefs/
This removes the implicit `-I libbcachefs` argument to $(CC), which in turn
requires a set of minor changes throughout the tools. There are two advantages
to this setup:

    1) It is (arguably) easier to read, since the location of bcachefs includes
    are easier to understand at a glance ("where does util.h live?")

    2) It removes the need for a hack to include glibc's copy of
    dirent.h explicitly via '/usr/include/dirent.h', because libbcachefs/
    *also* has a dirent.h file and the compiler cannot disambiguate them.
    This has some ramifications on systems where /usr/include may not
    exist, such as NixOS.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2017-12-10 16:06:01 -06:00
Austin Seipp
04035f0c7e build: use 'find', not 'git', to locate C source code
We will not always have .git available in some cases. For example, if someone
simply downloaded a tarball of the tree, or if we're building with something
like Nix and want to exclude the .git folder, we need to cope and build the
source anyway.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2017-12-10 16:03:32 -06:00
Kent Overstreet
3347339bbd Simple stupid memory reclaim code 2017-11-12 16:48:07 -05:00
Kent Overstreet
8351bbc05b Update bcachefs sources to d4b7ef921a bcachefs: Refactoring 2017-11-08 16:01:26 -09:00
Kent Overstreet
bf8c59996b Update for new superblock options; makefile improvements 2017-10-08 10:25:36 -08:00