Hi Nikolay.
Thanks.
On Wed, 2018-02-21 at 08:34 +0200, Nikolay Borisov wrote:
> This looks like the one fixed by
> e8f1bc1493855e32b7a2a019decc3c353d94daf6 . It's tagged for stable so
> you
> should get it eventually.
Another consequence of this was that I couldn't sync/umount or shutdown
On Thu, Feb 15, 2018 at 11:04:49AM -0800, Omar Sandoval wrote:
> --- /dev/null
> +++ b/libbtrfsutil/subvolume.c
> @@ -0,0 +1,127 @@
> +/*
> + * Copyright (C) 2018 Facebook
> + *
> + * This file is part of libbtrfsutil.
> + *
> + * libbtrfsutil is free software: you can redistribute it and/or
On Wed, Feb 21, 2018 at 1:10 PM, Nikolay Borisov wrote:
>
>
> On 21.02.2018 15:06, Filipe Manana wrote:
>> On Wed, Feb 21, 2018 at 11:41 AM, Nikolay Borisov wrote:
>>> Currently the DIO read cases uses a botched idea from ext4 to ensure
>>> that DIO reads
On Wed, Feb 21, 2018 at 11:41 AM, Nikolay Borisov wrote:
> Currently the DIO read cases uses a botched idea from ext4 to ensure
> that DIO reads don't race with truncate. The idea is that if we have a
> pending truncate we set BTRFS_INODE_READDIO_NEED_LOCK which in turn
>
On 21.02.2018 15:51, Filipe Manana wrote:
> On Wed, Feb 21, 2018 at 11:41 AM, Nikolay Borisov wrote:
>> Currently the DIO read cases uses a botched idea from ext4 to ensure
>> that DIO reads don't race with truncate. The idea is that if we have a
>> pending truncate we set
Interestingly, I got another one only within minutes after the scrub:
Feb 21 15:23:49 heisenberg kernel: BTRFS warning (device dm-0): csum failed
root 257 ino 7703 off 56852480 csum 0x42d1b69c expected csum 0x3ce55621 mirror 1
Feb 21 15:23:52 heisenberg kernel: BTRFS warning (device dm-0): csum
On Thu, Feb 15, 2018 at 11:04:48AM -0800, Omar Sandoval wrote:
> +setup(
> +name='btrfsutil',
> +version=get_version(),
> +description='Library for managing Btrfs filesystems',
> +url='https://github.com/kdave/btrfs-progs',
> +license='GPLv3',
LGPLv3?
> +
On Wed, Feb 21, 2018 at 12:43:07PM +0100, David Sterba wrote:
> On Thu, Feb 15, 2018 at 11:04:49AM -0800, Omar Sandoval wrote:
> > --- /dev/null
> > +++ b/libbtrfsutil/subvolume.c
> > @@ -0,0 +1,127 @@
> > +/*
> > + * Copyright (C) 2018 Facebook
> > + *
> > + * This file is part of libbtrfsutil.
>
On Wed, Feb 21, 2018 at 2:15 PM, Nikolay Borisov wrote:
>
>
> On 21.02.2018 15:51, Filipe Manana wrote:
>> On Wed, Feb 21, 2018 at 11:41 AM, Nikolay Borisov wrote:
>>> Currently the DIO read cases uses a botched idea from ext4 to ensure
>>> that DIO reads
On 02/20/2018 08:49 PM, Qu Wenruo wrote:
On 2018年02月16日 22:12, Ellis H. Wilson III wrote:
$ sudo btrfs-debug-tree -t chunk /dev/sdb | grep CHUNK_ITEM | wc -l
3454
Increasing node size may reduce extent tree size. Although at most
reduce one level AFAIK.
But considering that the higher the
On 02/21/2018 03:49 PM, Ellis H. Wilson III wrote:
> On 02/20/2018 08:49 PM, Qu Wenruo wrote:
> On 2018年02月16日 22:12, Ellis H. Wilson III wrote:
>> $ sudo btrfs-debug-tree -t chunk /dev/sdb | grep CHUNK_ITEM | wc -l
>> 3454
>
>> Increasing node size may reduce extent tree size.
On Wed, Feb 21, 2018 at 11:41 AM, Nikolay Borisov wrote:
> Currently the DIO read cases uses a botched idea from ext4 to ensure
> that DIO reads don't race with truncate. The idea is that if we have a
> pending truncate we set BTRFS_INODE_READDIO_NEED_LOCK which in turn
>
Btrfs has two mount options for SSD optimizations: ssd and ssd_spread.
Presently there is an option to disable all SSD optimizations, but there
isn't an option to disable just ssd_spread.
This patch adds a mount option nossd_spread that disables ssd_spread
only.
Signed-off-by: Howard McLauchlan
On 2018/02/16 4:04, Omar Sandoval wrote:
> From: Omar Sandoval
>
> set_default_subvolume() is a trivial ioctl(), but there's no ioctl() for
> get_default_subvolume(), so we need to search the root tree.
>
> Signed-off-by: Omar Sandoval
> ---
>
On 02/22/2018 12:31 AM, Howard McLauchlan wrote:
> Btrfs has two mount options for SSD optimizations: ssd and ssd_spread.
> Presently there is an option to disable all SSD optimizations, but there
> isn't an option to disable just ssd_spread.
>
> This patch adds a mount option nossd_spread that
On 2018/02/16 4:05, Omar Sandoval wrote:
> From: Omar Sandoval
>
> btrfs_util_f_deleted_subvolumes() replaces enumerate_dead_subvols() and
> btrfs_util_f_subvolume_info() replaces is_subvolume_cleaned().
And, the function names are older version.
>
> Signed-off-by: Omar
On 2018年02月21日 22:49, Ellis H. Wilson III wrote:
> On 02/20/2018 08:49 PM, Qu Wenruo wrote:
> On 2018年02月16日 22:12, Ellis H. Wilson III wrote:
>> $ sudo btrfs-debug-tree -t chunk /dev/sdb | grep CHUNK_ITEM | wc -l
>> 3454
>
>> Increasing node size may reduce extent tree size.
On 2/21/18 8:36 PM, Qu Wenruo wrote:
>
>
> On 2018年02月22日 04:19, je...@suse.com wrote:
>> From: Jeff Mahoney
>>
>> There are several places where we call btrfs_qgroup_reserve_meta and
>> assume that a return value of 0 means that the reservation was successful.
>>
>> Later, we
Hi,
On btrfs (as of kernel 4.15), say we fallocate a file with keep_size
option, followed by fdatasync() or fsync(). If we now crash, on
recovery we see a wrong block count and all the blocks allocated
beyond the eof are lost. This bug was reported(xfstest generic/468)
and patched on ext4[1], and
On 2018/02/16 4:04, Omar Sandoval wrote:
> From: Omar Sandoval
>
> The C libbtrfsutil library isn't very useful for scripting, so we also
> want bindings for Python. Writing unit tests in Python is also much
> easier than doing so in C. Only Python 3 is supported; if someone
On 2018年02月21日 23:40, David Sterba wrote:
> On Fri, Feb 09, 2018 at 03:44:24PM +0800, Qu Wenruo wrote:
>> Used by later btrfs_alloc_chunk() rework.
>
> We have the libc provided qsort, so please don't pull another
> implementation but rather add a wrapper.
Thanks for pointing this out.
On 2018年02月22日 09:50, Jeff Mahoney wrote:
> On 2/21/18 8:36 PM, Qu Wenruo wrote:
>>
>>
>> On 2018年02月22日 04:19, je...@suse.com wrote:
>>> From: Jeff Mahoney
>>>
>>> There are several places where we call btrfs_qgroup_reserve_meta and
>>> assume that a return value of 0 means
On 2018/02/16 4:05, Omar Sandoval wrote:
> From: Omar Sandoval
>
> btrfs_util_f_deleted_subvolumes() replaces enumerate_dead_subvols() and
> btrfs_util_f_subvolume_info() replaces is_subvolume_cleaned().
>
> Signed-off-by: Omar Sandoval
> ---
>
btrfs_read_block_groups() is used to build up the block group cache for
all block groups, so it will iterate all block group items in extent
tree.
For large filesystem (TB level), it will search for BLOCK_GROUP_ITEM
thousands times, which is the most time consuming part of mounting
btrfs.
So
On Wed, Feb 21, 2018 at 07:05:13PM +, Filipe Manana wrote:
> On Wed, Feb 21, 2018 at 6:28 PM, Liu Bo wrote:
> > On Wed, Feb 21, 2018 at 02:42:08PM +, Filipe Manana wrote:
> >> On Wed, Feb 21, 2018 at 2:15 PM, Nikolay Borisov wrote:
> >> >
> >> >
>
On 2018年02月22日 04:19, je...@suse.com wrote:
> From: Jeff Mahoney
>
> There are several places where we call btrfs_qgroup_reserve_meta and
> assume that a return value of 0 means that the reservation was successful.
>
> Later, we use the original bytes value passed to that call
I have a mount point that became ... hung for lack of a better word.
I was doing a LARGE sort of a file in it, using temporary files in
that directory, and the
system hung and probably the watchdog kicked in, reset the system.
Upon reboot, the filesystem hung if you touched it. Processes were
On 22.02.2018 00:38, Liu Bo wrote:
> On Wed, Feb 21, 2018 at 07:05:13PM +, Filipe Manana wrote:
>> On Wed, Feb 21, 2018 at 6:28 PM, Liu Bo wrote:
>>> On Wed, Feb 21, 2018 at 02:42:08PM +, Filipe Manana wrote:
On Wed, Feb 21, 2018 at 2:15 PM, Nikolay Borisov
On 2018/02/16 4:05, Omar Sandoval wrote:
> From: Omar Sandoval
>
> Signed-off-by: Omar Sandoval
> ---
> messages.h | 13
> props.c| 69
> +++---
> 2 files changed, 38 insertions(+), 44
-- Forwarded message --
From:
Date: 21 February 2018 at 16:22
Subject: [Bug 1547319] 4.16.0-0.rc1.git4.1.fc28.x86_64 #1 Not tainted:
possible recursive locking detected
To: kloczko.tom...@gmail.com
https://bugzilla.redhat.com/show_bug.cgi?id=1547319
On 2018年02月22日 12:52, Qu Wenruo wrote:
> btrfs_read_block_groups() is used to build up the block group cache for
> all block groups, so it will iterate all block group items in extent
> tree.
>
> For large filesystem (TB level), it will search for BLOCK_GROUP_ITEM
> thousands times, which is
As preparation to create libbtrfs which shares code between kernel and
btrfs, this patch mainly unifies the search for free device extents.
The main modifications are:
1) Search for free device extent
Use the kernel method, by sorting the devices by its max hole
capability, and use that
Signed-off-by: Qu Wenruo
---
check/main.c | 22 --
volumes.h| 22 ++
2 files changed, 22 insertions(+), 22 deletions(-)
diff --git a/check/main.c b/check/main.c
index 97baae583f04..8ad7ab03e0e8 100644
--- a/check/main.c
+++
Just as kernel find_free_dev_extent(), allow it to return maximum hole
size for us to build device list for later chunk allocator rework.
Signed-off-by: Qu Wenruo
---
volumes.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/volumes.c b/volumes.c
index
Kernel uses a delayed chunk allocation behavior for metadata chunks
KERNEL:
btrfs_alloc_chunk()
|- __btrfs_alloc_chunk(): Only allocate chunk mapping
|- btrfs_make_block_group(): Add corresponding bg to fs_info->new_bgs
Then at transaction commit time, it finishes the remaining work:
Before this patch, chunk allocation is split into 2 parts:
1) Chunk allocation
Handled by btrfs_alloc_chunk(), which will insert chunk and device
extent items.
2) Block group allocation
Handled by btrfs_make_block_group(), which will insert block group
item and update space info.
We used to have two chunk allocators, btrfs_alloc_chunk() and
btrfs_alloc_data_chunk(), the former is the more generic one, while the
later is only used in mkfs and convert, to allocate SINGLE data chunk.
Although btrfs_alloc_data_chunk() has some special hacks to cooperate
with convert, it's
Same as kernel declaration.
Signed-off-by: Qu Wenruo
---
utils.c | 2 +-
volumes.c | 6 +++---
volumes.h | 2 +-
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/utils.c b/utils.c
index e9cb3a82fda6..eff5fb64cfd5 100644
--- a/utils.c
+++ b/utils.c
@@ -216,7 +216,7
Signed-off-by: Qu Wenruo
---
volumes.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/volumes.c b/volumes.c
index edad367b593c..677d085de96c 100644
--- a/volumes.c
+++ b/volumes.c
@@ -826,7 +826,7 @@ error:
return ret;
}
-#define
This patchset can be fetched from github:
https://github.com/adam900710/btrfs-progs/tree/libbtrfs_prepare
This patchset unified a large part of chunk allocator (free device
extent search) between kernel and btrfs-progs.
And reuses kernel function structures like btrfs_finish_chunk_alloc()
and
As part of the effort to unify code and behavior between btrfs-progs and
kernel, copy the btrfs_raid_array from kernel to btrfs-progs.
So later we can use the btrfs_raid_array[] to get needed raid info other
than manually do if-else branches.
Signed-off-by: Qu Wenruo
---
ctree.h
Spurious corruptions seem to continue
[ 69.688652] BTRFS critical (device dm-0): unable to find logical
4503658729209856 length 4096
[ 69.688656] BTRFS critical (device dm-0): unable to find logical
4503658729209856 length 4096
[ 69.688658] BTRFS critical (device dm-0): unable to find
On 02/21/2018 04:19 PM, Ellis H. Wilson III wrote:
> On 02/21/2018 10:03 AM, Hans van Kranenburg wrote:
>> On 02/21/2018 03:49 PM, Ellis H. Wilson III wrote:
>>> On 02/20/2018 08:49 PM, Qu Wenruo wrote:
My suggestion is to use balance to reduce number of block groups, so we
could do less
A scrub now gave:
# btrfs scrub start -Br /dev/disk/by-label/system
ERROR: scrubbing /dev/disk/by-label/system failed for device id 1: ret=-1,
errno=5 (Input/output error)
scrub canceled for b6050e38-716a-40c3-a8df-fcf1dd7e655d
scrub started at Wed Feb 21 17:42:39 2018 and was aborted
On 02/21/2018 01:04 AM, David Sterba wrote:
On Tue, Feb 20, 2018 at 10:48:09PM +0800, Anand Jain wrote:
Replace target can be missing after a reboot during the replace.
So check if device is null.
BUG: unable to handle kernel NULL pointer dereference at 00b0
IP:
Currently the DIO read cases uses a botched idea from ext4 to ensure
that DIO reads don't race with truncate. The idea is that if we have a
pending truncate we set BTRFS_INODE_READDIO_NEED_LOCK which in turn
forces the dio read case to fallback to inode_locking to prevent
read/truncate races.
On 21.02.2018 15:06, Filipe Manana wrote:
> On Wed, Feb 21, 2018 at 11:41 AM, Nikolay Borisov wrote:
>> Currently the DIO read cases uses a botched idea from ext4 to ensure
>> that DIO reads don't race with truncate. The idea is that if we have a
>> pending truncate we set
On Wed, Feb 21, 2018 at 02:47:54PM +0100, David Sterba wrote:
> On Thu, Feb 15, 2018 at 11:04:48AM -0800, Omar Sandoval wrote:
> > +setup(
> > +name='btrfsutil',
> > +version=get_version(),
> > +description='Library for managing Btrfs filesystems',
> > +
On 21.02.2018 19:18, Christoph Anton Mitterer wrote:
> e8f1bc1493855e32b7a2a019decc3c353d94daf6
>
> That bug... When was that introduced and how can I find out whether an fs was
> affected/corrupted by this? Cause I've mounted and wrote to some extremely
> important (to me) fs recently.
On Wed, Feb 21, 2018 at 02:02:02PM +0100, David Sterba wrote:
> On Wed, Feb 21, 2018 at 12:43:07PM +0100, David Sterba wrote:
> > On Thu, Feb 15, 2018 at 11:04:49AM -0800, Omar Sandoval wrote:
> > > --- /dev/null
> > > +++ b/libbtrfsutil/subvolume.c
> > > @@ -0,0 +1,127 @@
> > > +/*
> > > + *
On Wed, Feb 21, 2018 at 04:04:28PM +0100, David Sterba wrote:
> On Thu, Feb 15, 2018 at 11:05:12AM -0800, Omar Sandoval wrote:
> > diff --git a/btrfs-list.c b/btrfs-list.c
> > index a2fdb3f9..56aa2455 100644
> > --- a/btrfs-list.c
> > +++ b/btrfs-list.c
> > @@ -34,6 +34,12 @@
> > #include
On Wed, Feb 21, 2018 at 02:42:08PM +, Filipe Manana wrote:
> On Wed, Feb 21, 2018 at 2:15 PM, Nikolay Borisov wrote:
> >
> >
> > On 21.02.2018 15:51, Filipe Manana wrote:
> >> On Wed, Feb 21, 2018 at 11:41 AM, Nikolay Borisov
> >> wrote:
> >>> Currently
On Wed, Feb 21, 2018 at 04:13:38PM +0100, David Sterba wrote:
> On Tue, Feb 20, 2018 at 07:50:48PM +0100, David Sterba wrote:
> > I have more comments or maybe questions about the future development
> > workflow, but at this point the patchset is in a good shape for
> > incremental merge.
>
>
e8f1bc1493855e32b7a2a019decc3c353d94daf6
That bug... When was that introduced and how can I find out whether an fs was
affected/corrupted by this? Cause I've mounted and wrote to some extremely
important (to me) fs recently.
Thanks, Chris.
--
To unsubscribe from this list: send the line
And you have any other ideas on how to dubs that filesystem? Or at least backup
as much as possible?
Thanks, Chris.
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at
On Thu, Feb 15, 2018 at 11:05:12AM -0800, Omar Sandoval wrote:
> diff --git a/btrfs-list.c b/btrfs-list.c
> index a2fdb3f9..56aa2455 100644
> --- a/btrfs-list.c
> +++ b/btrfs-list.c
> @@ -34,6 +34,12 @@
> #include "btrfs-list.h"
> #include "rbtree-utils.h"
>
> +/*
> + * The deprecated
On Wed, Feb 21, 2018 at 6:28 PM, Liu Bo wrote:
> On Wed, Feb 21, 2018 at 02:42:08PM +, Filipe Manana wrote:
>> On Wed, Feb 21, 2018 at 2:15 PM, Nikolay Borisov wrote:
>> >
>> >
>> > On 21.02.2018 15:51, Filipe Manana wrote:
>> >> On Wed, Feb 21, 2018
On 21.02.2018 20:28, Liu Bo wrote:
> On Wed, Feb 21, 2018 at 02:42:08PM +, Filipe Manana wrote:
>> On Wed, Feb 21, 2018 at 2:15 PM, Nikolay Borisov wrote:
>>>
>>>
>>> On 21.02.2018 15:51, Filipe Manana wrote:
On Wed, Feb 21, 2018 at 11:41 AM, Nikolay Borisov
On Fri, Feb 09, 2018 at 03:44:24PM +0800, Qu Wenruo wrote:
> Used by later btrfs_alloc_chunk() rework.
We have the libc provided qsort, so please don't pull another
implementation but rather add a wrapper.
> --- /dev/null
> +++ b/kernel-lib/sort.c
> @@ -0,0 +1,104 @@
> +/*
> + * taken from linux
From: Jeff Mahoney
There are several places where we call btrfs_qgroup_reserve_meta and
assume that a return value of 0 means that the reservation was successful.
Later, we use the original bytes value passed to that call to free
bytes during error handling or to pass the number
On Tue, Feb 20, 2018 at 08:44:57PM +0800, Anand Jain wrote:
>
>
> On 02/20/2018 07:40 PM, Nikolay Borisov wrote:
> > Patch 11ac3f1da5fd ("btrfs: log, when replace, is canceled by the user")
> > added a new btrfs_info call with a couple of btrfs_dev_name() args. This
> > is wrong since the latter
On Tue, Feb 20, 2018 at 07:50:48PM +0100, David Sterba wrote:
> I have more comments or maybe questions about the future development
> workflow, but at this point the patchset is in a good shape for
> incremental merge.
After removnig the first patch adding subvolume.c (with
linux/btrfs_tree.h)
On Wed, Feb 21, 2018 at 04:15:38PM +0200, Nikolay Borisov wrote:
>
>
> On 21.02.2018 15:51, Filipe Manana wrote:
> > On Wed, Feb 21, 2018 at 11:41 AM, Nikolay Borisov wrote:
> >> Currently the DIO read cases uses a botched idea from ext4 to ensure
> >> that DIO reads don't
On Wed, Feb 21, 2018 at 9:49 AM, Ellis H. Wilson III wrote:
> On 02/20/2018 08:49 PM, Qu Wenruo wrote:
>
> On 2018年02月16日 22:12, Ellis H. Wilson III wrote:
>>
>> $ sudo btrfs-debug-tree -t chunk /dev/sdb | grep CHUNK_ITEM | wc -l
>> 3454
>
>
>>
64 matches
Mail list logo