]>
git.sesse.net Git - bcachefs-tools-debian/log
Justin Husted [Mon, 18 Nov 2019 23:36:36 +0000 (15:36 -0800)]
Support remounting in fuse tests.
Signed-off-by: Justin Husted <sigstop@gmail.com>
Justin Husted [Mon, 18 Nov 2019 21:51:31 +0000 (13:51 -0800)]
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>
Justin Husted [Mon, 11 Nov 2019 20:00:08 +0000 (12:00 -0800)]
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>
Kent Overstreet [Sun, 10 Nov 2019 03:49:03 +0000 (22:49 -0500)]
Update bcachefs sources to
b1a4dc53be bcachefs: Set lost+found mode to 0700
Justin Husted [Sun, 10 Nov 2019 03:05:24 +0000 (19:05 -0800)]
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>
Justin Husted [Sun, 10 Nov 2019 03:00:56 +0000 (19:00 -0800)]
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>
Justin Husted [Sun, 10 Nov 2019 02:53:20 +0000 (18:53 -0800)]
Fix memory leak in fuse write.
The write buffer was being leaked in bcachefs_fuse_write().
Signed-off-by: Justin Husted <sigstop@gmail.com>
Justin Husted [Fri, 8 Nov 2019 02:58:32 +0000 (18:58 -0800)]
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>
Justin Husted [Fri, 8 Nov 2019 00:44:04 +0000 (16:44 -0800)]
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>
Justin Husted [Mon, 4 Nov 2019 23:34:02 +0000 (15:34 -0800)]
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>
Justin Husted [Mon, 4 Nov 2019 05:27:57 +0000 (21:27 -0800)]
Add makefile support for tags.
Also, update .gitignore for various things.
Signed-off-by: Justin Husted <sigstop@gmail.com>
Kent Overstreet [Mon, 4 Nov 2019 17:53:59 +0000 (12:53 -0500)]
Update bcachefs sources to
9e76e8d98c bcachefs: Fix uninitialized field in hash_check_init()
Justin Husted [Sun, 3 Nov 2019 07:35:03 +0000 (00:35 -0700)]
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>
Justin Husted [Sun, 3 Nov 2019 05:42:55 +0000 (22:42 -0700)]
Stop blkdev completion thread at process exit time, to make valgrind
happy.
Signed-off-by: Justin Husted <sigstop@gmail.com>
Justin Husted [Sun, 3 Nov 2019 06:36:29 +0000 (23:36 -0700)]
Stop workqueue threads at process exit time, to make valgrind happy.
Signed-off-by: Justin Husted <sigstop@gmail.com>
Justin Husted [Sun, 3 Nov 2019 06:45:34 +0000 (23:45 -0700)]
Stop the timer task at process exit time, to make valgrind happy.
Signed-off-by: Justin Husted <sigstop@gmail.com>
Justin Husted [Fri, 1 Nov 2019 02:10:19 +0000 (19:10 -0700)]
Temporary import of valgrind fixes for bcachefs branch.
Justin Husted [Thu, 31 Oct 2019 17:20:42 +0000 (10:20 -0700)]
Fix memory leak in cmd_format.c
Signed-off-by: Justin Husted <sigstop@gmail.com>
Justin Husted [Fri, 4 Oct 2019 23:25:50 +0000 (16:25 -0700)]
Add better valgrind support for journal write buffers.
Justin Husted [Thu, 10 Oct 2019 02:27:22 +0000 (19:27 -0700)]
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>
Justin Husted [Wed, 9 Oct 2019 08:03:47 +0000 (01:03 -0700)]
Add more fuse logging.
Signed-off-by: Justin Husted <sigstop@gmail.com>
Kent Overstreet [Fri, 18 Oct 2019 20:51:15 +0000 (16:51 -0400)]
Enable caching of negative dentries
Kent Overstreet [Thu, 10 Oct 2019 22:03:33 +0000 (18:03 -0400)]
Simplify readdir
Kent Overstreet [Thu, 10 Oct 2019 22:29:26 +0000 (18:29 -0400)]
Write path now updates i_size/i_sectors
Justin Husted [Tue, 8 Oct 2019 23:21:59 +0000 (16:21 -0700)]
Use proper flags mask.
Justin Husted [Tue, 8 Oct 2019 23:06:07 +0000 (16:06 -0700)]
Prettify the align_io function by returning by value.
Justin Husted [Tue, 8 Oct 2019 22:57:34 +0000 (15:57 -0700)]
Fix missing mode setting in fuse mkdir.
Justin Husted [Tue, 8 Oct 2019 22:42:37 +0000 (15:42 -0700)]
Add fuse symlink and readlink support.
Also fix link.
Justin Husted [Tue, 8 Oct 2019 16:17:01 +0000 (09:17 -0700)]
Implement unaligned write support for fuse. Seems to work on initial
testing, but there are problems with cache coherency and journaling.
Justin Husted [Tue, 8 Oct 2019 04:21:18 +0000 (21:21 -0700)]
Factor alignment logic out of bcachefs_fuse_read.
Justin Husted [Tue, 8 Oct 2019 04:01:08 +0000 (21:01 -0700)]
Implement unaligned read support for fuse.
Justin Husted [Mon, 7 Oct 2019 23:41:38 +0000 (16:41 -0700)]
Make fuse read and write work (for aligned writes).
Read: There was a missing refcount on the closure.
Write: Unlike in the Linux kernel, we need to manually update the size
and timestamps, otherwise the operation will appear complete when viewed
via the cached inode, but after unmounting and mounting again the write
will be undone.
Justin Husted [Mon, 7 Oct 2019 21:21:39 +0000 (14:21 -0700)]
Fix fuse read/write to not segfault on unaligned IO.
Kent Overstreet [Fri, 4 Oct 2019 22:26:44 +0000 (18:26 -0400)]
initialize op->pos for write
Justin Husted [Fri, 4 Oct 2019 21:18:33 +0000 (14:18 -0700)]
Add valgrind handling: data read from io_submit was not being marked
properly. Manually mark it.
This might be better done by improving the valgrind wrapper for
io_submit.
Kent Overstreet [Fri, 4 Oct 2019 20:41:12 +0000 (16:41 -0400)]
fill in .st_ino in .getattr
Kent Overstreet [Fri, 4 Oct 2019 19:04:35 +0000 (15:04 -0400)]
build fixes; initial read/write methods
Justin Husted [Fri, 4 Oct 2019 04:56:01 +0000 (21:56 -0700)]
Fix infinite looping behavior with readdir.
Also adds partial . and .. support, and implements ENOTDIR error.
The source of this problem was due to the off-by-one interface expected
by readdir. Each directory entry contains a pointer to next, so it
cannot be emitted to the user until the next entry is actually read.
Returning the current position + 1 is insufficient, because the user
will just retry cur + 1 as the start position to see if they've reached
the end of the directory.
Since directory entries are keyed by a 64-bit hash in bcachefs, the
result was that the user would call readdir over and over with what it
believed the next pointer to be until "cur + 1" reached some enormous
64-bit value related to the hash for the "lost+found" entry.
Justin Husted [Thu, 3 Oct 2019 20:33:01 +0000 (13:33 -0700)]
Implement option parsing for fuse. The syntax is:
bcachefs fusemount dev mountpoint
or
bcachefs fusemount dev1:dev2:... mountpoint
Kent Overstreet [Tue, 1 Oct 2019 18:06:58 +0000 (14:06 -0400)]
fuse
Kent Overstreet [Wed, 16 Oct 2019 18:13:07 +0000 (14:13 -0400)]
Update bcachefs sources to
fc4f1d59cf bcachefs: Fix an iterator counting bug
Kent Overstreet [Sat, 12 Oct 2019 18:49:11 +0000 (14:49 -0400)]
Update bcachefs sources to
de906c3e2e bcachefs: Fix iterator counting for reflink pointers (again)
Kent Overstreet [Fri, 11 Oct 2019 19:04:27 +0000 (15:04 -0400)]
Update bcachefs sources to
d0625a4418 bcachefs: Fix creation of lost+found
Kent Overstreet [Thu, 10 Oct 2019 22:04:36 +0000 (18:04 -0400)]
Update bcachefs sources to
7e03c1ab0e bcachefs: Kill bchfs_extent_update()
Kent Overstreet [Fri, 4 Oct 2019 20:25:58 +0000 (16:25 -0400)]
Update bcachefs sources to
ce9293e9d0 bcachefs: Factor out fs-common.c
Kent Overstreet [Fri, 4 Oct 2019 20:22:31 +0000 (16:22 -0400)]
Update bcachefs sources to
cddca21efc bcachefs: Don't use sha256 for siphash str hash key
Kent Overstreet [Tue, 1 Oct 2019 20:30:36 +0000 (16:30 -0400)]
Update bcachefs sources to
380885b0b8 bcachefs: Fix counting iterators for reflink pointers
Kent Overstreet [Tue, 1 Oct 2019 19:55:42 +0000 (15:55 -0400)]
Update six locks
Kent Overstreet [Wed, 25 Sep 2019 19:23:29 +0000 (15:23 -0400)]
Update bcachefs sources to
5a3a4087af bcachefs: Convert a BUG_ON() to a warning
Kent Overstreet [Thu, 29 Aug 2019 16:22:08 +0000 (12:22 -0400)]
Have cmd_dump fix errors
Some errors can't be ignored, and fsck and thus dump will only complete
if we're fixing errors.
Kent Overstreet [Thu, 29 Aug 2019 17:32:04 +0000 (13:32 -0400)]
Update bcachefs sources to
fee79cd654 bcachefs: Fix BTREE_INSERT_NOMARK_OVERWRITES
Kent Overstreet [Thu, 29 Aug 2019 15:44:11 +0000 (11:44 -0400)]
Update bcachefs sources to
0d627739e9 bcachefs: Improve pointer marking checks and error messages
Kent Overstreet [Wed, 28 Aug 2019 17:43:18 +0000 (13:43 -0400)]
Add a way to pass arbitrary mount options to fsck
Kent Overstreet [Wed, 28 Aug 2019 17:22:29 +0000 (13:22 -0400)]
Update bcachefs sources to
05ef7000f2 bcachefs: Switch reconstruct_alloc to a mount option
Kent Overstreet [Wed, 28 Aug 2019 15:35:00 +0000 (11:35 -0400)]
Update llist code
This fixes a bug where the compiler was dropping a null ptr check
Kent Overstreet [Wed, 28 Aug 2019 15:09:35 +0000 (11:09 -0400)]
Update bcachefs sources to
bfb7133d71 bcachefs: Refactor bch2_alloc_write()
Kent Overstreet [Tue, 27 Aug 2019 21:46:09 +0000 (17:46 -0400)]
Update bcachefs sources to
4ed63a3241 bcachefs: Trust in memory bucket mark
Kent Overstreet [Tue, 27 Aug 2019 21:36:21 +0000 (17:36 -0400)]
Update bcachefs sources to
14f68409be bcachefs: Optimize fiemap
Kent Overstreet [Tue, 27 Aug 2019 17:33:57 +0000 (13:33 -0400)]
Build with -fno-delete-null-pointer-checks
Some of the code we use from the Linux kernel won't build correctly
without this...
Kent Overstreet [Wed, 21 Aug 2019 17:17:42 +0000 (13:17 -0400)]
Update bcachefs sources to
ece184f718 bcachefs: Reflink
koverstreet [Wed, 21 Aug 2019 16:20:30 +0000 (12:20 -0400)]
Merge pull request #20 from highvoltage/master
Fix typos
Jonathan Carter [Wed, 21 Aug 2019 08:19:25 +0000 (10:19 +0200)]
Fix typos
koverstreet [Sat, 17 Aug 2019 18:24:56 +0000 (14:24 -0400)]
Merge pull request #19 from stintel/master
cmd_device_remove: allow removal by device id
Stijn Tintel [Fri, 16 Aug 2019 17:24:11 +0000 (20:24 +0300)]
cmd_device_remove: allow removal by device id
If a disk is absent, there is no way to remove it from the filesystem.
Add the possibility to remove devices by id, to allow removal of missing
disks.
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Kent Overstreet [Sat, 13 Jul 2019 17:06:42 +0000 (13:06 -0400)]
Update bcachefs sources to
22776fe990 bcachefs: Convert some assertions to fsck errors
Kent Overstreet [Fri, 12 Jul 2019 21:11:10 +0000 (17:11 -0400)]
Update bcachefs sources to
b5fff15213 bcachefs: Fix ec_stripes_read()
Kent Overstreet [Thu, 11 Jul 2019 16:46:42 +0000 (12:46 -0400)]
Update bcachefs sources to
44dc1f2695 bcachefs: Fix stripe_idx_to_delete()
Kent Overstreet [Wed, 10 Jul 2019 20:12:15 +0000 (16:12 -0400)]
Update bcachefs sources to
b91a514413 bcachefs: Don't try to delete stripes when RO
Kent Overstreet [Thu, 13 Jun 2019 15:10:11 +0000 (11:10 -0400)]
Fix cmd_fs_usage for more than 4 devices
The ioctl returns -ERANGE when there's more devices than fit in the
buffer, not -ENOSPC
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Kent Overstreet [Thu, 30 May 2019 00:06:53 +0000 (20:06 -0400)]
Update bcachefs sources to
7e42539c80 bcachefs: Don't overflow stack in bch2_extent_merge_inline()
Kent Overstreet [Fri, 24 May 2019 15:57:29 +0000 (11:57 -0400)]
Update bcachefs sources to
f38382c574 bcachefs: Improve key marking interface
Kent Overstreet [Wed, 8 May 2019 23:13:46 +0000 (19:13 -0400)]
Update bcachefs sources to
454bd4f82d bcachefs: Fix for the stripes mark path and gc
Kent Overstreet [Wed, 17 Apr 2019 21:01:40 +0000 (17:01 -0400)]
Update bcachefs sources to
6f603b8d79 bcachefs: some improvements to startup messages and options
Kent Overstreet [Thu, 11 Apr 2019 04:31:22 +0000 (00:31 -0400)]
define XATTR_CREATE/XATTR_REPLACE for systems with old headers
Kent Overstreet [Wed, 10 Apr 2019 21:37:00 +0000 (17:37 -0400)]
fix check for SYS_random
Kent Overstreet [Sat, 6 Apr 2019 21:45:19 +0000 (17:45 -0400)]
initialize filesystem when formatting
makes it possible to mount ro for the first mount, helps with some
xfstests tests
Kent Overstreet [Fri, 5 Apr 2019 02:15:36 +0000 (22:15 -0400)]
Update bcachefs sources to
d83b992f65 bcachefs: Rewrite journal_seq_blacklist machinery
Kent Overstreet [Fri, 29 Mar 2019 18:36:06 +0000 (14:36 -0400)]
Update bcachefs sources to
1712318522 bcachefs: allow journal reply on ro mount
Kent Overstreet [Thu, 28 Mar 2019 09:21:24 +0000 (05:21 -0400)]
Update bcachefs sources to
d868a87c67 bcachefs: fix initial gc
Kent Overstreet [Mon, 25 Mar 2019 03:38:17 +0000 (23:38 -0400)]
Align allocations like the kernel does
Kent Overstreet [Mon, 25 Mar 2019 01:07:45 +0000 (21:07 -0400)]
check if fs is mounted before running fsck
Kent Overstreet [Mon, 25 Mar 2019 01:06:58 +0000 (21:06 -0400)]
Update bcachefs sources to
ffe09df106 bcachefs: Verify fs hasn't been modified before going rw
Kent Overstreet [Wed, 13 Mar 2019 21:00:36 +0000 (17:00 -0400)]
Update bcachefs sources to
986543d24e bcachefs: fix bch2_invalidate_one_bucket2() during journal replay
Kent Overstreet [Sun, 10 Mar 2019 18:59:13 +0000 (14:59 -0400)]
Merge https://github.com/DanySpin97/bcachefs-tools
Kent Overstreet [Sun, 10 Mar 2019 18:56:38 +0000 (14:56 -0400)]
Update bcachefs sources to
00c04f8485 bcachefs: Fix for shutting down before fs started marking it clean
Danilo Spinella [Sun, 24 Feb 2019 09:47:35 +0000 (10:47 +0100)]
Add PKG_CONFIG variable and replace pkg-config
Respect pkg-config value from environment.
Danilo Spinella [Sun, 24 Feb 2019 09:50:20 +0000 (10:50 +0100)]
Fix PREFIX variable assignement
Kent Overstreet [Fri, 8 Mar 2019 22:36:40 +0000 (17:36 -0500)]
Update bcachefs sources to
ca1a2ff489 bcachefs: Fix for when compressed extent is split during journal replay
Kent Overstreet [Fri, 8 Mar 2019 22:36:16 +0000 (17:36 -0500)]
Update bcachefs sources to
c8aa081de3 bcachefs: increase BTREE_ITER_MAX
Kent Overstreet [Fri, 8 Mar 2019 19:41:57 +0000 (14:41 -0500)]
use a mutex for percpu rwsemaphores
bcachefs is using a percpu rwsem to protect percpu data structures, and
in userspace we don't have real percpu data structures - so we need to
guard all access to them with a mutex.
Kent Overstreet [Fri, 8 Mar 2019 19:41:43 +0000 (14:41 -0500)]
better implementation of WARN
Kent Overstreet [Thu, 7 Mar 2019 21:39:43 +0000 (16:39 -0500)]
Update bcachefs sources to
43a464c9dd bcachefs: Don't BUG_ON() on bucket sector count overflow
Kent Overstreet [Sat, 2 Mar 2019 19:45:50 +0000 (14:45 -0500)]
Update bcachefs sources to
a5e71b8200 bcachefs: Allocator startup fixes/refactoring
Kent Overstreet [Fri, 1 Mar 2019 20:52:57 +0000 (15:52 -0500)]
Update bcachefs sources to
dab980b662 bcachefs: Don't get journal reservation until after we know insert will succeed
Kent Overstreet [Fri, 1 Mar 2019 02:34:16 +0000 (21:34 -0500)]
Update bcachefs sources to
75e8a078b8 bcachefs: improved flush_held_btree_writes()
Kent Overstreet [Sun, 10 Feb 2019 00:54:14 +0000 (19:54 -0500)]
Update bcachefs sources to
09a5465430 bcachefs: Don't need to walk inodes on clean shutdown
Kent Overstreet [Wed, 23 Jan 2019 20:49:44 +0000 (15:49 -0500)]
Update bcachefs sources to
99750eab4d bcachefs: Persist stripe blocks_used
koverstreet [Tue, 22 Jan 2019 18:34:09 +0000 (13:34 -0500)]
Merge pull request #17 from modelrockettier/master
Update debian URLs and remove libattr from dependencies
Tim Schlueter [Mon, 14 Jan 2019 08:26:32 +0000 (00:26 -0800)]
Updated homepage, repo, and watch urls for debian package
Tim Schlueter [Mon, 14 Jan 2019 08:25:02 +0000 (00:25 -0800)]
Abort compilation early if pkg-config fails