Commit Graph

542 Commits

Author SHA1 Message Date
Justin Husted
c54ea51416 Make die exit using _exit
Exiting the standard way on error caused teardown in bad state problems.

Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-12-29 13:08:35 -08:00
Justin Husted
f24bf2af6b Well, arm64 crashed. Turn that off for now.
Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-12-28 20:38:26 -08:00
Justin Husted
e19950a252 bcachefs-tools: Add arm64 build on travis-ci.
Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-12-28 20:34:31 -08:00
Justin Husted
15bcfb2a33 Add a travis.yml file for bcachefs-tools.
Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-12-28 20:32:39 -08:00
Justin Husted
5d79efdd19 bcachefs-tools: Fix test.
Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-12-28 20:10:02 -08: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
Justin Husted
1b74a2bba1 bcachefs-tools: fix test bug in valgrind handling.
Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-12-28 16:57:15 -08:00
Justin Husted
ff2b85e039 bcachefs-tools: Fix build errors.
The BTREE_INSERT_ATOMIC removal broke fuse.

Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-12-28 15:56:49 -08:00
Justin Husted
4d5e1942bd bachefs-tools: Fix broken test code.
A check was missing in some of the python test code, probably from a bad
cherry-pick.

Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-12-28 15:54:34 -08:00
Justin Husted
17a7161dbe bcachefs-tools: Fix build break with FUSE.
bch2_link_trans() in the filesystem side was fixed to do timestamps
properly, but the change to the tools call got lost.

Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-12-28 15:54:34 -08:00
Kent Overstreet
82c7e8ff35 Update bcachefs sources to cfb41d25c7 bcachefs: Add an assertion to track down a heisenbug 2019-12-28 18:20:16 -05:00
Justin Husted
956a05a126 Make valgrind disabled by default in unit tests.
Since valgrind runtime support is disabled by default, we shouldn't run
the tests with valgrind by default.

Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-12-28 14:18:56 -08:00
Kent Overstreet
c58f66878f Fix bchu_fs_get_devices() 2019-12-27 14:04:16 -05:00
Kent Overstreet
7d2baabdb1 Redo cmd_fs_usage for new ioctls 2019-12-18 16:11:11 -05:00
Kent Overstreet
f026d7cc81 Update bcachefs sources to 5d7142b75a bcachefs: Redo filesystem usage ioctls 2019-12-18 16:11:04 -05:00
Kent Overstreet
54fc3909b4 Update bcachefs sources to a8faf2472b bcachefs: Update directory timestamps during link 2019-12-18 15:30:16 -05:00
Kent Overstreet
f7566516de Update bcachefs sources to adfbb84c7c fixup! bcachefs: Fix bch2_verify_insert_pos() 2019-12-16 17:36:24 -05:00
koverstreet
b74c93d43c
Merge pull request #24 from brendon-boldt/new-install-distros
New install distros
2019-12-16 15:45:20 -05:00
Kent Overstreet
92d34f6ed2 Update bcachefs sources to fbb669e9de bcachefs: Kill btree_node_iter_large 2019-12-16 14:42:09 -05:00
Justin Husted
f574ca05f8 Clean up after failed unit tests better.
Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-12-14 16:58:43 -08:00
Justin Husted
d0b5ee0339 Increase stack size of userspace threads to 32k.
Certain fuse tests crashed inside of libc calls such as fprintf() with
only 16k of stack.

Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-12-14 16:51:54 -08:00
Brendon Boldt
4e69c09f4b Add note about make clean for fuse build 2019-12-06 11:22:19 -05: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
Kent Overstreet
ffced87f08 Merge commit '780de81b36' 2019-11-28 15:08:27 -05:00
Justin Husted
780de81b36 Support remounting in fuse tests.
Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-11-18 15:36:36 -08:00
Justin Husted
049dd7b79e Make valgrind optional in tests.
Add an option to disable valgrind in the test suite, via the variable:

BCACHEFS_TEST_USE_VALGRIND=no

Additionally, note how to run tests in parallel in the INSTALL documentation.

Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-11-18 13:51:31 -08:00
Kent Overstreet
8c20176f2c Update bcachefs sources to d372ddcbfa bcachefs: Reorganize extents.c 2019-11-17 20:36:59 -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
Kent Overstreet
1f7098c222 Update bcachefs sources to b1a4dc53be bcachefs: Set lost+found mode to 0700 2019-11-09 22:49:03 -05:00
Justin Husted
f597e81aab Temporary fix for lost+found file permission.
lost+found should not be group or world readable. This is a staging fix
pending merge with the kernel tree.

Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-11-09 19:05:24 -08:00
Justin Husted
c3f09963af Implement basic fuse mount tests.
The purpose of these tests is to verify that bcachefs fuse support works
as expected, including gathering valgrind errors from the bcachefs
executable.

To do this, bcachefs is executed from a helper thread in the new
util.BFuse class, which goes about setting up and validating the
valgrind data as well as making sure the mount has completed
sufficiently before the test starts executing.

This also includes some basic functionality smoke tests which cover file
creation, timestamps, etc.

Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-11-09 19:00:56 -08:00
Justin Husted
7bf4aa61a7 Fix memory leak in fuse write.
The write buffer was being leaked in bcachefs_fuse_write().

Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-11-09 18:53:20 -08:00
Justin Husted
5337ad4a43 Make userspace blkdev cleanup code more robust.
The existing cleanup code would silently cancel disk IO requests, if
somehow the calling code did not wait for completion.  This code now
tracks requests and will bug if any are lost.

Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-11-07 18:58:32 -08:00
Justin Husted
76e147d0a9 Fix refcount bug in blkdev and timer kthreads.
The shutdown code in d79d57e and b20e160 had a race condition during
shutdown, due to not owning a reference on the associated task_struct
while the associated threads shut themselves down.

Patch over this by taking an appropriate reference.

Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-11-07 16:44:04 -08:00
Justin Husted
ff695c5afb Use the correct clock for userspace time.
The ktime_get_coarse_real_ts64() implementation for userspace was using
CLOCK_MONOTONIC instead of CLOCK_REALTIME_COARSE.  This resulted in
files being timestamped with a time close to the unix epoch.

Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-11-04 21:23:46 -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
Kent Overstreet
6016d33b80 Update bcachefs sources to 9e76e8d98c bcachefs: Fix uninitialized field in hash_check_init() 2019-11-04 12:53:59 -05: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
Justin Husted
d79d57ef89 Stop blkdev completion thread at process exit time, to make valgrind
happy.

Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-11-03 23:17:43 -05:00
Justin Husted
97c6f60222 Stop workqueue threads at process exit time, to make valgrind happy.
Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-11-03 23:17:43 -05:00
Justin Husted
b20e160735 Stop the timer task at process exit time, to make valgrind happy.
Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-11-03 23:17:43 -05:00
Justin Husted
36e4b3147e Temporary import of valgrind fixes for bcachefs branch. 2019-11-03 23:17:43 -05:00
Justin Husted
37899250f3 Fix memory leak in cmd_format.c
Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-11-03 23:17:43 -05:00
Justin Husted
bf7574260c Add better valgrind support for journal write buffers. 2019-11-03 23:17:43 -05:00
Justin Husted
ff4d082246 Change preempt_disable() etc. to use a recursive mutex.
This is part of the userspace implementation of the kernel APIs for
bcachefs-tools. The previous implementation just provided a barrier, but
this isn't sufficient to make the associated percpu implementation safe.

Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-11-03 23:17:43 -05:00
Justin Husted
2bc1166919 Add more fuse logging.
Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-11-03 23:17:43 -05:00
Kent Overstreet
648b871d3d Enable caching of negative dentries 2019-10-18 16:51:15 -04:00
Kent Overstreet
b5af93e90f Simplify readdir 2019-10-18 16:24:18 -04:00
Kent Overstreet
8e6afb875d Write path now updates i_size/i_sectors 2019-10-18 16:23:39 -04:00