On Saturday, June 25, 2016 09:22:44 AM Qu Wenruo wrote:
>
> On 06/24/2016 05:29 PM, Chandan Rajendra wrote:
> > On Friday, June 24, 2016 10:50:41 AM Qu Wenruo wrote:
> >> Hi Chandan, David,
> >>
> >> When I'm trying to rebase dedupe patchset on top of Chadan's sub page
> >> size patchset (using
On 25/06/2016 3:50 AM, Austin S. Hemmelgarn wrote:
> On 2016-06-24 13:43, Steven Haigh wrote:
>> On 25/06/16 03:40, Austin S. Hemmelgarn wrote:
>>> On 2016-06-24 13:05, Steven Haigh wrote:
On 25/06/16 02:59, ronnie sahlberg wrote:
What I have in mind here is that a file seems to get
On 06/24/2016 05:29 PM, Chandan Rajendra wrote:
On Friday, June 24, 2016 10:50:41 AM Qu Wenruo wrote:
Hi Chandan, David,
When I'm trying to rebase dedupe patchset on top of Chadan's sub page
size patchset (using David's for-next-test-20160620), although the
rebase itself is quite simple, but
The usage of 'source' is a bashism, and '.' should be used instead. This
is causing fuzz-tests/001-simple-unmounted to fail in systems where
/bin/sh isn't bash:
[TEST/fuzz] 001-simple-unmounted
./test.sh: 5: ./test.sh: source: not found
./test.sh: 7: ./test.sh: setup_root_helper: not found
Citando Chris Murphy :
On Fri, Jun 24, 2016 at 9:52 AM, Vasco Almeida wrote:
From the pasted kernel messages:
> Linux version 3.18.34-std473-amd64 (root@rl-sysrcd-p11) (gcc
version 4.8.5
> (Gentoo 4.8.5 p1.3, pie-0.6.2) ) #2 SMP Tue May 24
Hi,
the virtual machine images files I create and use are mostly sparse,
so that not too much space on a filesystem with snapshots and on
filesystems that are receive targets is used.
But I noticed that with just starting up and shutting down a virtual
machine, the difference between 2 nightly
From: Jeff Mahoney
The root parameter for copy_to_sk is not used at all.
Signed-off-by: Jeff Mahoney
---
fs/btrfs/ioctl.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index ffb1628..81413e6 100644
From: Jeff Mahoney
Signed-off-by: Jeff Mahoney
---
fs/btrfs/ctree.h| 8
fs/btrfs/delayed-inode.c| 4 ++--
fs/btrfs/extent-tree.c | 29 -
fs/btrfs/file.c | 4 ++--
From: Jeff Mahoney
Signed-off-by: Jeff Mahoney
---
fs/btrfs/check-integrity.c | 2 +-
fs/btrfs/disk-io.c | 4 +--
fs/btrfs/extent-tree.c | 2 +-
fs/btrfs/scrub.c | 87 +++---
fs/btrfs/volumes.c
From: Jeff Mahoney
We have all these stubs that only exist because they're called from
btrfs_run_sanity_tests, which is a static inside super.c. Let's just
move it all into tests/btrfs-tests.c and only have one stub.
Signed-off-by: Jeff Mahoney
---
From: Jeff Mahoney
The io_ctl->root member was only being used to access root->fs_info.
Signed-off-by: Jeff Mahoney
---
fs/btrfs/ctree.h| 2 +-
fs/btrfs/free-space-cache.c | 12 ++--
2 files changed, 7 insertions(+), 7 deletions(-)
diff
From: Jeff Mahoney
btrfs_commit_transaction is always called using the root that was used
to create the transaction handle. Passing it separately is unnecessary.
Signed-off-by: Jeff Mahoney
---
fs/btrfs/dev-replace.c | 10 +-
fs/btrfs/disk-io.c
From: Jeff Mahoney
This results in btrfs_assert_delayed_root_empty and
btrfs_destroy_delayed_inode taking an fs_info instead of a root.
Signed-off-by: Jeff Mahoney
---
fs/btrfs/delayed-inode.c | 23 ++-
fs/btrfs/delayed-inode.h | 4 ++--
From: Jeff Mahoney
btrfs_test_opt and friends only use the root pointer to access
the fs_info. Let's pass the fs_info directly in preparation to
eliminate similar patterns all over btrfs.
Signed-off-by: Jeff Mahoney
---
fs/btrfs/ctree.h| 22
From: Jeff Mahoney
When using trace events to debug a problem, it's impossible to determine
which file system generated a particular event. This patch adds a
macro to prefix standard information to the head of a trace event.
The extent_state alloc/free events are all that's
From: Jeff Mahoney
There are 11 functions that accept a root parameter and immediately
overwrite it. We can pass those an fs_info pointer instead.
Signed-off-by: Jeff Mahoney
---
fs/btrfs/ctree.h| 4 ++--
fs/btrfs/disk-io.c | 4 ++--
From: Jeff Mahoney
btrfs_init_new_device only uses the root passed in via the ioctl to
start the transaction. Nothing else that happens is related to whatever
root the user used to initiate the ioctl. We can drop the root requirement
and just use fs_info->dev_root instead.
From: Jeff Mahoney
This allows the upcoming patchset to push nodesize and sectorsize into
fs_info.
Signed-off-by: Jeff Mahoney
---
fs/btrfs/ctree.h | 1 +
fs/btrfs/disk-io.c | 15 +++
fs/btrfs/disk-io.h
From: Jeff Mahoney
The root is never used. We substitute extent_root in for the reada_find_extent
call, since it's only ever used to obtain the node size. This call site
will be changed to use fs_info in a later patch.
Signed-off-by: Jeff Mahoney
---
From: Jeff Mahoney
This patch converts the macros used to calculate various node
size limits to static inlines. That way we get type checking for free.
Signed-off-by: Jeff Mahoney
---
fs/btrfs/ctree.h | 48 +---
1
From: Jeff Mahoney
We just need a superblock, but we look it up using two different
roots depending on the call site. Let's just use a superblock
pointer initialized at the outset.
This is mostly for Coccinelle not to choke on my root push up set.
Signed-off-by: Jeff Mahoney
From: Jeff Mahoney
The root member is never used except for obtaining an fs_info pointer.
Signed-off-by: Jeff Mahoney
---
fs/btrfs/check-integrity.c | 20 ++--
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git
From: Jeff Mahoney
The function isn't implemented anywhere.
Signed-off-by: Jeff Mahoney
---
fs/btrfs/ctree.h | 3 ---
1 file changed, 3 deletions(-)
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index 0b107d1..bff6ce6 100644
--- a/fs/btrfs/ctree.h
+++
From: Jeff Mahoney
Signed-off-by: Jeff Mahoney
---
fs/btrfs/disk-io.c | 4 +--
fs/btrfs/extent-tree.c | 8 +++---
fs/btrfs/free-space-cache.c | 4 +--
fs/btrfs/volumes.c | 70 ++---
From: Jeff Mahoney
In btrfs_relocate_chunk, we get a transaction handle via
btrfs_start_trans_remove_block_group, which starts the transaction
using the extent root. When we call btrfs_end_transaction, we're calling
it using the chunk root.
Signed-off-by: Jeff Mahoney
From: Jeff Mahoney
We use BTRFS_LEAF_DATA_SIZE - sizeof(struct btrfs_item) in
several places. This introduces a BTRFS_MAX_ITEM_SIZE macro to do the
same.
Signed-off-by: Jeff Mahoney
---
fs/btrfs/ctree.h | 8
fs/btrfs/extent-tree.c | 2 +-
From: Jeff Mahoney
__btrfs_abort_transaction doesn't use its root parameter except to
obtain an fs_info pointer. We can obtain that from trans->root->fs_info
for now and from trans->fs_info in a later patch.
Signed-off-by: Jeff Mahoney
---
fs/btrfs/ctree.c
From: Jeff Mahoney
btrfs_trans_handle->root is documented as for use for confirming
that the root passed in to start the transaction is the same as the
one ending it. It's used in several places when an fs_info pointer
is needed, so let's just add an fs_info pointer directly.
From: Jeff Mahoney
Signed-off-by: Jeff Mahoney
---
fs/btrfs/extent-tree.c | 28 ++--
1 file changed, 14 insertions(+), 14 deletions(-)
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index 14f4d05..bc56e04 100644
---
From: Jeff Mahoney
One of the common complaints I've heard from new and experienced
developers alike about the btrfs code is the ubiquity of
struct btrfs_root. There is one for every tree on disk and it's not
always obvious which root is needed in a particular call path. It can
From: Jeff Mahoney
Even though a separate root is passed in, we're still operating on the
extent root. Let's use that for the trace point.
Signed-off-by: Jeff Mahoney
---
fs/btrfs/extent-tree.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff
From: Jeff Mahoney
There are many functions that are always called with the same root
argument. Rather than passing the same root every time, we can
pass an fs_info pointer instead and have the function get the root
pointer itself.
Signed-off-by: Jeff Mahoney
From: Jeff Mahoney
Now that we have a dummy fs_info associated with each test that
uses a root, we don't need the DUMMY_ROOT bit anymore. This lets
us make choices without needing an actual root like in e.g.
btrfs_find_create_tree_block.
Signed-off-by: Jeff Mahoney
From: Jeff Mahoney
Without btrfs_commit_transaction accepting a root parameter,
__btrfs_end_transaction doesn't consume one anymore.
In theory, we still accept it to compare that the root we used to start
the transaction is the same one we used to end it. In practice, the
check
From: Jeff Mahoney
In order to provide an fsid for trace events, we'll need a btrfs_fs_info
pointer. The most lightweight way to do that for btrfs_work structures
is to associate it with the __btrfs_workqueue structure. Each queued
btrfs_work structure has a workqueue
On 2016-06-24 13:52, Chris Murphy wrote:
On Fri, Jun 24, 2016 at 11:21 AM, Andrei Borzenkov wrote:
24.06.2016 20:06, Chris Murphy пишет:
On Fri, Jun 24, 2016 at 3:52 AM, Andrei Borzenkov wrote:
On Fri, Jun 24, 2016 at 11:50 AM, Hugo Mills
On Fri, Jun 24, 2016 at 11:40:56AM -0600, Chris Murphy wrote:
> On Fri, Jun 24, 2016 at 4:16 AM, Hugo Mills wrote:
> > On Fri, Jun 24, 2016 at 12:52:21PM +0300, Andrei Borzenkov wrote:
> >For data, say you have n-1 good devices, with n-1 blocks on them.
> > Each block has
On Fri, Jun 24, 2016 at 11:21 AM, Andrei Borzenkov wrote:
> 24.06.2016 20:06, Chris Murphy пишет:
>> On Fri, Jun 24, 2016 at 3:52 AM, Andrei Borzenkov
>> wrote:
>>> On Fri, Jun 24, 2016 at 11:50 AM, Hugo Mills wrote:
>>> eta)data
On 2016-06-24 13:43, Steven Haigh wrote:
On 25/06/16 03:40, Austin S. Hemmelgarn wrote:
On 2016-06-24 13:05, Steven Haigh wrote:
On 25/06/16 02:59, ronnie sahlberg wrote:
What I have in mind here is that a file seems to get CREATED when I copy
the file that crashes the system in the target
On 25/06/16 03:40, Austin S. Hemmelgarn wrote:
> On 2016-06-24 13:05, Steven Haigh wrote:
>> On 25/06/16 02:59, ronnie sahlberg wrote:
>> What I have in mind here is that a file seems to get CREATED when I copy
>> the file that crashes the system in the target directory. I'm thinking
>> if I 'cp
On Fri, Jun 24, 2016 at 4:16 AM, Hugo Mills wrote:
> On Fri, Jun 24, 2016 at 12:52:21PM +0300, Andrei Borzenkov wrote:
>> Yes, that is what I wrote below. But that means that RAID5 with one
>> degraded disk won't be able to reconstruct data on this degraded disk
>> because
On 2016-06-24 13:05, Steven Haigh wrote:
On 25/06/16 02:59, ronnie sahlberg wrote:
What I have in mind here is that a file seems to get CREATED when I copy
the file that crashes the system in the target directory. I'm thinking
if I 'cp -an source/ target/' that it will make this somewhat easier
On Fri, Jun 24, 2016 at 4:16 AM, Andrei Borzenkov wrote:
> On Fri, Jun 24, 2016 at 8:20 AM, Chris Murphy wrote:
>
>> [root@f24s ~]# filefrag -v /mnt/5/*
>> Filesystem type is: 9123683e
>> File size of /mnt/5/a.txt is 16383 (4 blocks of 4096 bytes)
>>
24.06.2016 20:06, Chris Murphy пишет:
> On Fri, Jun 24, 2016 at 3:52 AM, Andrei Borzenkov wrote:
>> On Fri, Jun 24, 2016 at 11:50 AM, Hugo Mills wrote:
>> eta)data and RAID56 parity is not data.
>>>
>>>Checksums are not parity, correct. However, every
On Fri, Jun 24, 2016 at 3:52 AM, Andrei Borzenkov wrote:
> On Fri, Jun 24, 2016 at 11:50 AM, Hugo Mills wrote:
>eta)data and RAID56 parity is not data.
>>
>>Checksums are not parity, correct. However, every data block
>> (including, I think, the
On 25/06/16 02:59, ronnie sahlberg wrote:
> What I would do in this situation :
>
> 1, Immediately stop writing to these disks/filesystem. ONLY access it
> in read-only mode until you have salvaged what can be salvaged.
That's ok - I can't even mount it in RW mode :)
> 2, get a new 5T UDB drive
On Fri, Jun 24, 2016 at 2:50 AM, Hugo Mills wrote:
>Checksums are not parity, correct. However, every data block
> (including, I think, the parity) is checksummed and put into the csum
> tree.
I don't see how parity is checksummed. It definitely is not in the
csum tree.
What I would do in this situation :
1, Immediately stop writing to these disks/filesystem. ONLY access it
in read-only mode until you have salvaged what can be salvaged.
2, get a new 5T UDB drive (they are cheap) and copy file by file off the array.
3, when you hit files that cause panics, make a
On Fri, Jun 24, 2016 at 10:52:53AM -0600, Chris Murphy wrote:
> On Fri, Jun 24, 2016 at 2:50 AM, Hugo Mills wrote:
>
> >Checksums are not parity, correct. However, every data block
> > (including, I think, the parity) is checksummed and put into the csum
> > tree.
>
> I
On Fri, Jun 24, 2016 at 9:52 AM, Vasco Almeida wrote:
>>
>> From the pasted kernel messages:
>> > Linux version 3.18.34-std473-amd64 (root@rl-sysrcd-p11) (gcc version 4.8.5
>> > (Gentoo 4.8.5 p1.3, pie-0.6.2) ) #2 SMP Tue May 24 20:34:19 UTC 2016
>> 3.18.34 is ancient.
On Fri, Jun 24, 2016 at 07:02:34AM +0300, Andrei Borzenkov wrote:
> >> I don't read code well enough, but I'd be surprised if Btrfs
> >> reconstructs from parity and doesn't then check the resulting
> >> reconstructed data to its EXTENT_CSUM.
> >
> > I wouldn't be surprised if both things happen
On Thu, Jun 23, 2016 at 11:20:40PM -0600, Chris Murphy wrote:
> [root@f24s ~]# filefrag -v /mnt/5/*
> Filesystem type is: 9123683e
> File size of /mnt/5/a.txt is 16383 (4 blocks of 4096 bytes)
> ext: logical_offset:physical_offset: length: expected: flags:
>0:0..
On 25/06/16 00:52, Steven Haigh wrote:
> Ok, so I figured that despite what the BTRFS wiki seems to imply, the
> 'multi parity' support just isn't stable enough to be used. So, I'm
> trying to revert to what I had before.
>
> My setup consist of:
> * 2 x 3Tb drives +
> * 3 x 2Tb
From: Jeff Mahoney
This tests the exporting of feature information from the kernel via
sysfs and ioctl. The first test works whether the sysfs permissions
are correct, if the information exported via sysfs matches
what the ioctls are reporting, and if they both match the on-disk
From: Jeff Mahoney
Btrfs can now report the size of the global metadata reservation
via ioctl and sysfs.
This test confirms that we get sane results on an empty file system.
ENOTTY and missing /sys/fs/btrfs//allocation are not considered
failures.
Signed-off-by: Jeff Mahoney
From: Jeff Mahoney
This tests the sysfs publishing for btrfs allocation and device
membership info under a number of different layouts, similar to the
btrfs replace test. We test the allocation files only for existence and
that they contain numerical values. We test the device
From: Jeff Mahoney
btrfsprogs v4.5.3 changed the formatting of some error messages. This
patch extends the filter for btrfs prop to handle those.
Signed-off-by: Jeff Mahoney
---
common/filter.btrfs | 10 +++---
tests/btrfs/048 | 6 --
Ok, so I figured that despite what the BTRFS wiki seems to imply, the
'multi parity' support just isn't stable enough to be used. So, I'm
trying to revert to what I had before.
My setup consist of:
* 2 x 3Tb drives +
* 3 x 2Tb drives.
I've got (had?) about 4.9Tb of data.
My idea
Hi,
btrfs-progs 4.6.1 have been released. A bugfix release.
Changes:
* fi resize: negative resize argument accepted again (broken
* qgroup rescan: fix skipping when rescan is in progress
* mkfs: initialize stripesize to correct value
* testsuite updates, mostly convert tests
* documentation
On Fri, Jun 24, 2016 at 05:24:47PM +0900, Satoru Takeuchi wrote:
> * Before this patch
>
> ===
> # ./btrfs fi show foo # "foo" doesn't mean any valid Btrfs
> # # no error message
> # echo $?
> 1
> ===
>
>
On 2016-06-24 06:59, Hugo Mills wrote:
On Fri, Jun 24, 2016 at 01:19:30PM +0300, Andrei Borzenkov wrote:
On Fri, Jun 24, 2016 at 1:16 PM, Hugo Mills wrote:
On Fri, Jun 24, 2016 at 12:52:21PM +0300, Andrei Borzenkov wrote:
On Fri, Jun 24, 2016 at 11:50 AM, Hugo Mills
On 2016-06-24 01:20, Chris Murphy wrote:
On Thu, Jun 23, 2016 at 8:07 PM, Zygo Blaxell
wrote:
With simple files changing one character with vi and gedit,
I get completely different logical and physical numbers with each
change, so it's clearly cowing the entire
On Fri, Jun 24, 2016 at 01:19:30PM +0300, Andrei Borzenkov wrote:
> On Fri, Jun 24, 2016 at 1:16 PM, Hugo Mills wrote:
> > On Fri, Jun 24, 2016 at 12:52:21PM +0300, Andrei Borzenkov wrote:
> >> On Fri, Jun 24, 2016 at 11:50 AM, Hugo Mills wrote:
> >> > On
On Fri, Jun 24, 2016 at 1:16 PM, Hugo Mills wrote:
> On Fri, Jun 24, 2016 at 12:52:21PM +0300, Andrei Borzenkov wrote:
>> On Fri, Jun 24, 2016 at 11:50 AM, Hugo Mills wrote:
>> > On Fri, Jun 24, 2016 at 07:02:34AM +0300, Andrei Borzenkov wrote:
>> >>
On Fri, Jun 24, 2016 at 12:52:21PM +0300, Andrei Borzenkov wrote:
> On Fri, Jun 24, 2016 at 11:50 AM, Hugo Mills wrote:
> > On Fri, Jun 24, 2016 at 07:02:34AM +0300, Andrei Borzenkov wrote:
> >> 24.06.2016 04:47, Zygo Blaxell пишет:
> >> > On Thu, Jun 23, 2016 at 06:26:22PM
On Fri, Jun 24, 2016 at 8:20 AM, Chris Murphy wrote:
> [root@f24s ~]# filefrag -v /mnt/5/*
> Filesystem type is: 9123683e
> File size of /mnt/5/a.txt is 16383 (4 blocks of 4096 bytes)
> ext: logical_offset:physical_offset: length: expected: flags:
>0:
On Fri, Jun 24, 2016 at 11:50 AM, Hugo Mills wrote:
> On Fri, Jun 24, 2016 at 07:02:34AM +0300, Andrei Borzenkov wrote:
>> 24.06.2016 04:47, Zygo Blaxell пишет:
>> > On Thu, Jun 23, 2016 at 06:26:22PM -0600, Chris Murphy wrote:
>> >> On Thu, Jun 23, 2016 at 1:32 PM, Goffredo
While trying to convert a ext4 filesystem to btrfs with the new btrfs-convert
from btrfs-progs-4.6 I
got the following error:
create btrfs filesystem:
blocksize: 4096
nodesize: 16384
features: extref, skinny-metadata (default)
creating ext2 image file.
Unable to find
On Friday, June 24, 2016 10:50:41 AM Qu Wenruo wrote:
> Hi Chandan, David,
>
> When I'm trying to rebase dedupe patchset on top of Chadan's sub page
> size patchset (using David's for-next-test-20160620), although the
> rebase itself is quite simple, but I'm afraid that I found some bugs for
>
On Fri, Jun 24, 2016 at 07:02:34AM +0300, Andrei Borzenkov wrote:
> 24.06.2016 04:47, Zygo Blaxell пишет:
> > On Thu, Jun 23, 2016 at 06:26:22PM -0600, Chris Murphy wrote:
> >> On Thu, Jun 23, 2016 at 1:32 PM, Goffredo Baroncelli
> >> wrote:
> >>> The raid5 write hole is
On 06/24/2016 02:54 PM, Satoru Takeuchi wrote:
On 2016/06/22 10:48, Qu Wenruo wrote:
Here is the long-waited (simple and theoretical) performance test for dedupe.
Such result may be added to btrfs wiki page, as an advice for dedupe use case.
The full result can be check from google drive:
* Before this patch
===
# ./btrfs fi show foo # "foo" doesn't mean any valid Btrfs
# # no error message
# echo $?
1
===
* After this patch
===
# ./btrfs fi show foo
ERROR:
On 2016/06/22 10:48, Qu Wenruo wrote:
> Here is the long-waited (simple and theoretical) performance test for dedupe.
>
> Such result may be added to btrfs wiki page, as an advice for dedupe use case.
>
> The full result can be check from google drive:
>
73 matches
Mail list logo