Re: BTRFS and power loss ~= corruption?

2011-08-24 Thread Arne Jansen
On 24.08.2011 15:11, Berend Dekens wrote: Hi, I have followed the progress made in the btrfs filesystem over time and while I have experimented with it a little in a VM, I have not yet used it in a production machine. While the lack of a complete fsck was a major issue (I read the

Re: *** GMX Spamverdacht *** Re: BTRFS and power loss ~= corruption?

2011-08-24 Thread Arne Jansen
On 24.08.2011 17:01, Berend Dekens wrote: On 24/08/11 15:31, Arne Jansen wrote: On 24.08.2011 15:11, Berend Dekens wrote: Hi, I have followed the progress made in the btrfs filesystem over time and while I have experimented with it a little in a VM, I have not yet used it in a production

Re: git resources

2011-08-19 Thread Arne Jansen
On 19.08.2011 09:09, Anand Jain wrote: Hello, There are quite a number of contents on the internet talking about git. (a problem in my case). Since I just need one good providing steps for what we are doing here.. You should take the time and learn git properly. I can recommend

Re: [PATCH] another reader/writer lock for btrfs metadata

2011-07-27 Thread Arne Jansen
On 27.07.2011 00:00, Chris Mason wrote: Excerpts from Chris Mason's message of 2011-07-25 21:28:30 -0400: Excerpts from Chris Mason's message of 2011-07-25 14:34:49 -0400: Hi everyone, I've updated the integration-test branch to use this code instead. It is a shiny new reader/writer lock

Re: new metadata reader/writer locks in integration-test

2011-07-22 Thread Arne Jansen
On 21.07.2011 07:44, Arne Jansen wrote: On 20.07.2011 19:21, Chris Mason wrote: Excerpts from Chris Mason's message of 2011-07-19 13:30:22 -0400: Hi everyone, I've pushed out a new integration-test branch, and it includes a new reader/writer locking scheme for the btree locks. We've seen

Re: new metadata reader/writer locks in integration-test

2011-07-20 Thread Arne Jansen
Hi Chris, On 19.07.2011 19:30, Chris Mason wrote: Hi everyone, I've pushed out a new integration-test branch, and it includes a new reader/writer locking scheme for the btree locks. I rebased my for-chris branch containing the readahead patches for scrub to your integration-test branch.

[PATCH v6] btrfs: add an extra wait mode to read_extent_buffer_pages

2011-07-20 Thread Arne Jansen
. Changes v5: - merge the 2 wait parameters into one and define WAIT_NONE, WAIT_COMPLETE and WAIT_PAGE_LOCK Change v6: - Fix stupid bug in the test of wait flag Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/disk-io.c |5 +++-- fs/btrfs/extent_io.c |7 +++ fs/btrfs

Re: new metadata reader/writer locks in integration-test

2011-07-20 Thread Arne Jansen
On 20.07.2011 08:55, Arne Jansen wrote: Hi Chris, On 19.07.2011 19:30, Chris Mason wrote: Hi everyone, I've pushed out a new integration-test branch, and it includes a new reader/writer locking scheme for the btree locks. I rebased my for-chris branch containing the readahead patches

Re: new metadata reader/writer locks in integration-test

2011-07-20 Thread Arne Jansen
On 20.07.2011 19:21, Chris Mason wrote: Excerpts from Chris Mason's message of 2011-07-19 13:30:22 -0400: Hi everyone, I've pushed out a new integration-test branch, and it includes a new reader/writer locking scheme for the btree locks. We've seen a number of benchmarks dominated by

Re: new metadata reader/writer locks in integration-test

2011-07-20 Thread Arne Jansen
On 21.07.2011 02:48, Tsutomu Itoh wrote: (2011/07/21 2:21), Chris Mason wrote: Excerpts from Chris Mason's message of 2011-07-19 13:30:22 -0400: Hi everyone, I've pushed out a new integration-test branch, and it includes a new reader/writer locking scheme for the btree locks. We've seen a

Re: Mis-Design of Btrfs?

2011-07-14 Thread Arne Jansen
On 14.07.2011 08:02, Ric Wheeler wrote: On 07/14/2011 06:56 AM, NeilBrown wrote: I'm certainly open to suggestions and collaboration. Do you have in mind any particular way to make the interface richer?? If a file system uses checksumming or other data corruption detection bits, it can detect

[RFC] Subvolume Quota on-disk structures and configuration

2011-07-10 Thread Arne Jansen
Now that I've got a working prototype of subvolume quota, I'd like to get some feedback on the on-disk structure and the commands I intend to use. As a short name, I propose qgroups, as the most distinguishing feature of this implementation is that you can not only put a quota on sub- volumes,

[GIT PULL] scrub updates for 3.1

2011-07-05 Thread Arne Jansen
for-chris It just contains the readahead patch, which gives a significant performance improvement for scrub. Currently scrub is the only consumer. Thanks, Arne Arne Jansen (7): btrfs: add an extra wait mode to read_extent_buffer_pages btrfs: add READAHEAD extent buffer flag btrfs: state

[PATCH v5 5/7] btrfs: hooks for readahead

2011-07-01 Thread Arne Jansen
would wait indefinitely for the extent to finish. Changes for v2: - eliminate race condition Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/disk-io.c | 37 + fs/btrfs/extent_io.c |2 +- 2 files changed, 38 insertions(+), 1 deletions(-) diff

[PATCH v5 6/7] btrfs: test ioctl for readahead

2011-07-01 Thread Arne Jansen
This ioctl is added to trigger a readahead from user mode. It implements a readahead using the new interface and also a traditional tree walk. This way it's possible to measure the two side by side. Changes v5: - handle is not of type struct reada_control Signed-off-by: Arne Jansen sensi

[PATCH v5 0/7] btrfs: generic readeahead interface

2011-07-01 Thread Arne Jansen
://git.kernel.org/pub/scm/linux/kernel/git/arne/btrfs-unstable-arne.git readahead Arne Jansen (7): btrfs: add an extra wait mode to read_extent_buffer_pages btrfs: add READAHEAD extent buffer flag btrfs: state information for readahead btrfs: initial readahead code and prototypes btrfs: hooks

[PATCH v5 4/7] btrfs: initial readahead code and prototypes

2011-07-01 Thread Arne Jansen
and make elems an atomic_t - remove unused read_total from reada_control - kill reada_key_cmp, use btrfs_comp_cpu_keys instead - use kref-style release functions where possible - return struct reada_control * instead of void * from btrfs_reada_add Signed-off-by: Arne Jansen sensi...@gmx.net

[PATCH v5 1/7] btrfs: add an extra wait mode to read_extent_buffer_pages

2011-07-01 Thread Arne Jansen
. Changes v5: - merge the 2 wait parameters into one and define WAIT_NONE, WAIT_COMPLETE and WAIT_PAGE_LOCK Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/disk-io.c |5 +++-- fs/btrfs/extent_io.c |7 +++ fs/btrfs/extent_io.h |3 +++ 3 files changed, 9 insertions

[PATCH v5 7/7] btrfs: use readahead API for scrub

2011-07-01 Thread Arne Jansen
. This change raises the average disk bandwith utilisation on my test volume from 70% to 90%. On another volume, the time for a test run went down from 89s to 43s. Changes v5: - reada1/2 are now of type struct reada_control * Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/scrub.c

[PATCH v5 3/7] btrfs: state information for readahead

2011-07-01 Thread Arne Jansen
Add state information for readahead to btrfs_fs_info and btrfs_device Changes v2: - don't wait in radix_trees - add own set of workers for readahead Reviewed-by: Josef Bacik jo...@redhat.com Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/ctree.h |5 + fs/btrfs/disk-io.c

[PATCH v5 2/7] btrfs: add READAHEAD extent buffer flag

2011-07-01 Thread Arne Jansen
set Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/disk-io.c | 32 fs/btrfs/disk-io.h |2 ++ fs/btrfs/extent_io.h |1 + 3 files changed, 35 insertions(+), 0 deletions(-) diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index a8c1941

Re: [PATCH v4 4/7] btrfs: initial readahead code and prototypes

2011-06-30 Thread Arne Jansen
On 29.06.2011 23:49, Josef Bacik wrote: On 06/29/2011 04:10 PM, Arne Jansen wrote: This is the implementation for the generic read ahead framework. To trigger a readahead, btrfs_reada_add must be called. It will start a read ahead for the given range [start, end) on tree root. The returned

Re: [PATCH v4 4/7] btrfs: initial readahead code and prototypes

2011-06-30 Thread Arne Jansen
On 30.06.2011 14:49, Josef Bacik wrote: On 06/30/2011 03:37 AM, Arne Jansen wrote: On 29.06.2011 23:49, Josef Bacik wrote: On 06/29/2011 04:10 PM, Arne Jansen wrote: +struct krefrefcnt; +wait_queue_head_twait; +}; + +struct reada_extctl { +struct list_head

[PATCH v3 0/6] btrfs: generic readeahead interface

2011-06-29 Thread Arne Jansen
change. Change from v2: - use rcu instead of transaction to protect root-node Arne Jansen (6): btrfs: add READAHEAD extent buffer flag btrfs: state information for readahead btrfs: initial readahead code and prototypes btrfs: hooks for readahead btrfs: test ioctl for readahead btrfs: use

[PATCH v3 4/6] btrfs: hooks for readahead

2011-06-29 Thread Arne Jansen
would wait indefinitely for the extent to finish. Changes for v2: - eliminate race condition Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/disk-io.c | 37 + fs/btrfs/extent_io.c |2 +- 2 files changed, 38 insertions(+), 1 deletions(-) diff

[PATCH v3 2/6] btrfs: state information for readahead

2011-06-29 Thread Arne Jansen
Add state information for readahead to btrfs_fs_info and btrfs_device Changes v2: - don't wait in radix_trees - add own set of workers for readahead Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/ctree.h |5 + fs/btrfs/disk-io.c | 11 +++ fs/btrfs/volumes.c

[PATCH v3 3/6] btrfs: initial readahead code and prototypes

2011-06-29 Thread Arne Jansen
to see if the requested RA range lies within. - use KERN_CONT to debug output, to avoid line breaks - defer reada_start_machine to worker to avoid deadlock Changes v3: - protect root-node by rcu Signed-off-by: Arne Jansen sensi...@gmx.net use rcu to protect root node --- fs/btrfs/Makefile |3

[PATCH v3 6/6] btrfs: use readahead API for scrub

2011-06-29 Thread Arne Jansen
. This change raises the average disk bandwith utilisation on my test volume from 70% to 90%. On another volume, the time for a test run went down from 89s to 43s. Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/scrub.c | 116 -- 1

[PATCH v3 5/6] btrfs: test ioctl for readahead

2011-06-29 Thread Arne Jansen
This ioctl is added to trigger a readahead from user mode. It implements a readahead using the new interface and also a traditional tree walk. This way it's possible to measure the two side by side. Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/ioctl.c | 93

[PATCH v3 1/6] btrfs: add READAHEAD extent buffer flag

2011-06-29 Thread Arne Jansen
Add a READAHEAD extent buffer flag. Add a function to trigger a read with this flag set. Changes v2: - use extent buffer flags instead of extent state flags Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/disk-io.c | 32 fs/btrfs/disk-io.h |2

[PATCH v4 6/7] btrfs: test ioctl for readahead

2011-06-29 Thread Arne Jansen
This ioctl is added to trigger a readahead from user mode. It implements a readahead using the new interface and also a traditional tree walk. This way it's possible to measure the two side by side. Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/ioctl.c | 93

[PATCH v4 1/7] btrfs: add an extra wait mode to read_extent_buffer_pages

2011-06-29 Thread Arne Jansen
. Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/disk-io.c |4 ++-- fs/btrfs/extent_io.c |6 +++--- fs/btrfs/extent_io.h |3 ++- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index 1ac8db5d..cff882c 100644 --- a/fs

[PATCH v4 5/7] btrfs: hooks for readahead

2011-06-29 Thread Arne Jansen
would wait indefinitely for the extent to finish. Changes for v2: - eliminate race condition Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/disk-io.c | 37 + fs/btrfs/extent_io.c |2 +- 2 files changed, 38 insertions(+), 1 deletions(-) diff

[PATCH v4 4/7] btrfs: initial readahead code and prototypes

2011-06-29 Thread Arne Jansen
to see if the requested RA range lies within. - use KERN_CONT to debug output, to avoid line breaks - defer reada_start_machine to worker to avoid deadlock Changes v3: - protect root-node by rcu Signed-off-by: Arne Jansen sensi...@gmx.net use rcu to protect root node --- fs/btrfs/Makefile |3

[PATCH v4 3/7] btrfs: state information for readahead

2011-06-29 Thread Arne Jansen
Add state information for readahead to btrfs_fs_info and btrfs_device Changes v2: - don't wait in radix_trees - add own set of workers for readahead Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/ctree.h |5 + fs/btrfs/disk-io.c | 11 +++ fs/btrfs/volumes.c

[PATCH v4 2/7] btrfs: add READAHEAD extent buffer flag

2011-06-29 Thread Arne Jansen
Add a READAHEAD extent buffer flag. Add a function to trigger a read with this flag set. Changes v2: - use extent buffer flags instead of extent state flags Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/disk-io.c | 32 fs/btrfs/disk-io.h |2

Re: How to handle badblocks with btrfs?

2011-06-28 Thread Arne Jansen
On 28.06.2011 01:36, Marco L. Crociani wrote: # smartctl -d ata -l selftest /dev/sda smartctl 5.40 2010-07-12 r3124 [x86_64-unknown-linux-gnu] (local build) Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net === START OF READ SMART DATA SECTION === SMART Self-test

Re: [PATCH] btrfs: kick off the useless parameter

2011-06-22 Thread Arne Jansen
On 22.06.2011 16:56, Wenyi Liu wrote: If there is no future development plan, this parameter for btrfs_root should be removed. --- Signed-off-by: Liu Wenyiqingshen...@gmail.com --- fs/btrfs/compression.c |3 +-- fs/btrfs/disk-io.c |6 +++--- fs/btrfs/disk-io.h

[PATCH] btrfs: reinitialize scrub workers

2011-06-10 Thread Arne Jansen
Scrub starts the workers each time a scrub starts and stops them after it finished. This patch adds an initialization for the workers before each start, otherwise the workers behave strangely. Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/disk-io.c |2 -- fs/btrfs/scrub.c |6

[PATCH v2 1/6] btrfs: add an extra wait mode to read_extent_buffer_pages

2011-06-10 Thread Arne Jansen
. Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/disk-io.c |4 ++-- fs/btrfs/extent_io.c |6 +++--- fs/btrfs/extent_io.h |3 ++- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index 7bbbfeb..0339cc0 100644 --- a/fs

[PATCH v2 3/6] btrfs: state information for readahead

2011-06-10 Thread Arne Jansen
Add state information for readahead to btrfs_fs_info and btrfs_device Changes v2: - don't wait in radix_trees - add own set of workers for readahead Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/ctree.h |5 + fs/btrfs/disk-io.c | 11 +++ fs/btrfs/volumes.c

[PATCH v2 0/6] btrfs: generic readeahead interface

2011-06-10 Thread Arne Jansen
of a tree, so the above numbers doesn't change. Arne Jansen (6): btrfs: add an extra wait mode to read_extent_buffer_pages btrfs: add READAHEAD extent buffer flag btrfs: state information for readahead btrfs: initial readahead code and prototypes btrfs: hooks for readahead btrfs: test

[PATCH v2 2/6] btrfs: add READAHEAD extent buffer flag

2011-06-10 Thread Arne Jansen
Add a READAHEAD extent buffer flag. Add a function to trigger a read with this flag set. Changes v2: - use extent buffer flags instead of extent state flags Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/disk-io.c | 32 fs/btrfs/disk-io.h |2

[PATCH v2 4/6] btrfs: initial readahead code and prototypes

2011-06-10 Thread Arne Jansen
to see if the requested RA range lies within. - use KERN_CONT to debug output, to avoid line breaks - defer reada_start_machine to worker to avoid deadlock Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/Makefile |3 +- fs/btrfs/ctree.h |8 + fs/btrfs/reada.c | 997

[PATCH v2 6/6] btrfs: test ioctl for readahead

2011-06-10 Thread Arne Jansen
This ioctl is added to trigger a readahead from user mode. It implements a readahead using the new interface and also a traditional tree walk. This way it's possible to measure the two side by side. Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/ioctl.c | 93

[PATCH v2 5/6] btrfs: hooks for readahead

2011-06-10 Thread Arne Jansen
would wait indefinitely for the extent to finish. Changes for v2: - eliminate race condition Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/disk-io.c | 37 + fs/btrfs/extent_io.c |2 +- 2 files changed, 38 insertions(+), 1 deletions(-) diff

[PATCH] btrfs: remove unneeded includes from scrub.c

2011-06-10 Thread Arne Jansen
Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/scrub.c |6 -- 1 files changed, 0 insertions(+), 6 deletions(-) diff --git a/fs/btrfs/scrub.c b/fs/btrfs/scrub.c index 92cac19..a8d03d5 100644 --- a/fs/btrfs/scrub.c +++ b/fs/btrfs/scrub.c @@ -16,13 +16,7 @@ * Boston, MA 021110

[PATCH] btrfs: use readahead API for scrub

2011-06-10 Thread Arne Jansen
. This change raises the average disk bandwith utilisation on my test volume from 70% to 90%. On another volume, the time for a test run went down from 89s to 43s. Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/scrub.c | 116 -- 1

[PATCH v3] btrfs: scrub: errors in tree enumeration

2011-06-09 Thread Arne Jansen
due to the semantics of btrfs_search_slot the path can point to an invalid slot when ret 0. This condition went unnoticed, which in turn could have led to an incomplete scrubbing. Signed-off-by: Arne Jansen sensi...@gmx.net --- Change in v2: - fix return value of scrub_enumerate_chunks

Re: [PATCH v2] btrfs: scrub: errors in tree enumeration

2011-06-09 Thread Arne Jansen
On 08.06.2011 15:48, Josef Bacik wrote: On 06/08/2011 04:38 AM, Arne Jansen wrote: due to the semantics of btrfs_search_slot the path can point to an invalid slot when ret 0. This condition went unnoticed, which in turn could have led to an incomplete scrubbing. Signed-off-by: Arne Jansen

Re: [GIT PULL] scrub fixes for -rc3

2011-06-09 Thread Arne Jansen
On 08.06.2011 19:54, Chris Mason wrote: Excerpts from Josef Bacik's message of 2011-06-08 09:25:57 -0400: On 06/08/2011 04:58 AM, Arne Jansen wrote: Hi Chris, please pull from git://git.kernel.org/pub/scm/linux/kernel/git/arne/btrfs-unstable-arne.git for-chris It contains the 2 commits

Re: [PATCH] Btrfs: don't map extent buffer if path-skip_locking is set

2011-06-09 Thread Arne Jansen
that we only map the extent buffer if we don't already have a map_token and skip_locking isn't set. Without this patch scrub would panic almost immediately, with the patch it doesn't panic anymore. Thanks, Reported-by: Arne Jansen sensi...@gmx.net Signed-off-by: Josef Bacik jo...@redhat.com

Re: [PATCH] Btrfs: avoid stack bloat in btrfs_ioctl_fs_info()

2011-06-08 Thread Arne Jansen
On 08.06.2011 05:58, Li Zefan wrote: The size of struct btrfs_ioctl_fs_info_args is as big as 1KB, so don't declare the variable on stack. Signed-off-by: Li Zefan l...@cn.fujitsu.com --- fs/btrfs/ioctl.c | 23 ++- 1 files changed, 14 insertions(+), 9 deletions(-)

Re: [PATCH 1/4] Btrfs: map the node block when looking for readahead targets

2011-06-08 Thread Arne Jansen
On 11.05.2011 23:35, Josef Bacik wrote: If we have particularly full nodes, we could call btrfs_node_blockptr up to 32 times, which is 32 pairs of kmap/kunmap, which _sucks_. So go ahead and map the extent buffer while we look for readahead targets. Thanks, Signed-off-by: Josef Bacik

[PATCH v2] btrfs: scrub: errors in tree enumeration

2011-06-08 Thread Arne Jansen
due to the semantics of btrfs_search_slot the path can point to an invalid slot when ret 0. This condition went unnoticed, which in turn could have led to an incomplete scrubbing. Signed-off-by: Arne Jansen sensi...@gmx.net --- Change in v2: fix return value of scrub_enumerate_chunks --- fs

[GIT PULL] scrub fixes for -rc3

2011-06-08 Thread Arne Jansen
Hi Chris, please pull from git://git.kernel.org/pub/scm/linux/kernel/git/arne/btrfs-unstable-arne.git for-chris It contains the 2 commits Arne Jansen (1): btrfs: scrub: errors in tree enumeration Li Zefan (1): Btrfs: avoid stack bloat in btrfs_ioctl_fs_info() It also reverts

Re: [PATCH 1/4] Btrfs: map the node block when looking for readahead targets

2011-06-08 Thread Arne Jansen
On 08.06.2011 15:51, Josef Bacik wrote: On 06/08/2011 04:21 AM, Arne Jansen wrote: On 11.05.2011 23:35, Josef Bacik wrote: If we have particularly full nodes, we could call btrfs_node_blockptr up to 32 times, which is 32 pairs of kmap/kunmap, which _sucks_. So go ahead and map the extent

Re: Quota Implementation

2011-06-04 Thread Arne Jansen
On 03.06.2011 23:18, Johannes Hirte wrote: On Friday 03 June 2011 18:24:41 Arne Jansen wrote: Hi, If no one is already working on it, I'd like to take the Quota lock and see how far I come. Let me sketch out in short what I'm planning to do: - Quota will be subvolume based. Only the FS

Re: Quota Implementation

2011-06-04 Thread Arne Jansen
On 03.06.2011 22:44, Andrey Kuzmin wrote: On Fri, Jun 3, 2011 at 8:47 PM, Hugo Millsh...@carfax.org.uk wrote: On Fri, Jun 03, 2011 at 06:24:41PM +0200, Arne Jansen wrote: Hi, If no one is already working on it, I'd like to take the Quota lock and see how far I come. Let me sketch out

Re: Quota Implementation

2011-06-04 Thread Arne Jansen
On 03.06.2011 18:47, Hugo Mills wrote: On Fri, Jun 03, 2011 at 06:24:41PM +0200, Arne Jansen wrote: Hi, If no one is already working on it, I'd like to take the Quota lock and see how far I come. Let me sketch out in short what I'm planning to do: - Quota will be subvolume based. Only

Re: Safe fsck / consistent backup while mounted

2011-06-04 Thread Arne Jansen
On 04.06.2011 12:25, Martin Steigerwald wrote: Hi! In mailing list debian-user-german we are discussing safe ways to do a fsck when mounted. I tested with Ext4 that fsck -nf works either with mount -o remount,ro or fsfreeze -f while writing with: I=0; while true ; let I=I+1 ; do touch

[GIT PULL] scrub fix for -rc2

2011-06-01 Thread Arne Jansen
Hi Chris, please pull from git://git.kernel.org/pub/scm/linux/kernel/git/arne/btrfs-unstable-arne.git for-chris the bio-reuse fix. I also included the small fix for the false BUG_ON in volumes.c. Here's the shortlog: Arne Jansen (2): btrfs: scrub: don't reuse bios and pages btrfs

[PATCH v1 0/3] btrfs: cleanup: pass fs_info instead of root where possible

2011-05-31 Thread Arne Jansen
; identifier x; parameter list[n] P; @@ fn(P, struct btrfs_fs_info *fs_info, ... ) { ... - struct btrfs_fs_info *x = fs_info; ... - x + fs_info ... } Thanks to Julia Lawall for helping to build the scripts. Arne Jansen (3): btrfs: remove struct btrfs_root parameter where unused btrfs

[PATCH v1 1/3] btrfs: remove struct btrfs_root parameter where unused

2011-05-31 Thread Arne Jansen
The following functions had a struct btrfs_root * parameter which went unused: btrfs_set_block_group_rw btrfs_destroy_delayed_refs btrfs_csum_data extent_data_ref_count copy_to_sk Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/compression.c |3 +-- fs/btrfs/ctree.c

[PATCH v1 2/3] btrfs: pass fs_info to btrfs_test_opt instead of root

2011-05-31 Thread Arne Jansen
btrfs_test_opt only needs fs_info from the root passed. So just pass the fs_info directly. Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/ctree.h|2 +- fs/btrfs/disk-io.c |8 +++--- fs/btrfs/extent-tree.c | 55

Re: [PATCH v1 0/3] btrfs: cleanup: pass fs_info instead of root where possible

2011-05-31 Thread Arne Jansen
3/3 doesn't seem to arrive anymore, possibly due to a mail size restriction on vger (yes, it is big). So I pushed it out to: git://git.kernel.org/pub/scm/linux/kernel/git/arne/btrfs-unstable-arne.git root-eliminate Thanks, Arne On 31.05.2011 12:16, Arne Jansen wrote: This series aims to clean

[PATCH] btrfs: false BUG_ON when degraded

2011-05-30 Thread Arne Jansen
In degraded mode the struct btrfs_device of missing devs don't have device-name set. A kstrdup of NULL correctly returns NULL. Don't BUG in this case. Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/volumes.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/fs

[PATCH] btrfs: scrub: don't reuse bios and pages

2011-05-28 Thread Arne Jansen
. This patch completely rips out the reuse of bios and pages and allocates them freshly for each submit. Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/scrub.c | 114 +++--- 1 files changed, 65 insertions(+), 49 deletions(-) diff --git

[PATCH] btrfs: scrub: add explicit plugging

2011-05-28 Thread Arne Jansen
With the removal of the implicit plugging scrub ends up doing more and smaller I/O than necessary. This patch adds explicit plugging per chunk. Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/scrub.c |7 --- 1 files changed, 4 insertions(+), 3 deletions(-) diff --git a/fs/btrfs

Re: [PATCH v2] Btrfs: setup free ino caching in a more asynchronous way

2011-05-26 Thread Arne Jansen
On 26.05.2011 08:38, Li Zefan wrote: For a filesystem that has lots of files in it, the first time we mount it with free ino caching support, it can take quite a long time to setup the caching before we can create new files. Here we fill the cache with [highest_ino, BTRFS_LAST_FREE_OBJECTID]

Re: [PATCH v1 3/5] btrfs: initial readahead code and prototypes

2011-05-26 Thread Arne Jansen
On 26.05.2011 12:47, Miao Xie wrote: On thu, 26 May 2011 12:14:21 +0200, David Sterba wrote: Hi, On Mon, May 23, 2011 at 02:59:06PM +0200, Arne Jansen wrote: +static struct reada_zone *reada_find_zone(struct btrfs_fs_info *fs_info, + struct btrfs_device

[PATCH] btrfs scrub: don't coalesce pages that are logically discontiguous

2011-05-25 Thread Arne Jansen
scrub_page collects several pages into one bio as long as they are physically contiguous. As we only save one logical address for the whole bio, don't collect pages that are physically contiguous but logically discontiguous. Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/scrub.c |3

Re: [PATCH] btrfs scrub: don't coalesce pages that are logically discontiguous

2011-05-25 Thread Arne Jansen
On 25.05.2011 14:22, Arne Jansen wrote: scrub_page collects several pages into one bio as long as they are physically contiguous. As we only save one logical address for the whole bio, don't collect pages that are physically contiguous but logically discontiguous. This patch applies

Re: Integration branch pushed out to btrfs-unstable

2011-05-25 Thread Arne Jansen
On 23.05.2011 21:54, Chris Mason wrote: Hi everyone, I've pushed out my current kernel git tree to a new branch called integration-test. This is meant for integration testing only and should not be run by anyone who doesn't love crashes. I've pulled together a lot of important work from

Re: [PATCH v1 2/5] btrfs: state information for readahead

2011-05-24 Thread Arne Jansen
On 25.05.2011 07:22, liubo wrote: On 05/23/2011 08:59 AM, Arne Jansen wrote: Add state information for readahead to btrfs_fs_info and btrfs_device Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/ctree.h |4 fs/btrfs/disk-io.c |4 fs/btrfs/volumes.c |8

Re: [PATCH] remove unneeded DEFINE_WAITs

2011-05-24 Thread Arne Jansen
these two are still in the integration-test tree... -Arne On 08.03.2011 12:34, Arne Jansen wrote: Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/extent-tree.c |2 -- 1 files changed, 0 insertions(+), 2 deletions(-) diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent

Re: Integration branch pushed out to btrfs-unstable

2011-05-24 Thread Arne Jansen
On 23.05.2011 21:54, Chris Mason wrote: I've pushed out my current kernel git tree to a new branch called integration-test. This is meant for integration testing only and should not be run by anyone who doesn't love crashes. Scrub, chunk allocator fixes please note that in order to test

Re: Backref walking utilities

2011-05-23 Thread Arne Jansen
Hi liubo, On 23.05.2011 11:53, liubo wrote: As one of my plans, I'm going to take this project over unless someone has been working on it. Jan Schmidt has a patch for scrub nearly ready, that does some ref-walking to report affected files to the user. While this is kernel code and you're

[PATCH v1 2/5] btrfs: state information for readahead

2011-05-23 Thread Arne Jansen
Add state information for readahead to btrfs_fs_info and btrfs_device Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/ctree.h |4 fs/btrfs/disk-io.c |4 fs/btrfs/volumes.c |8 fs/btrfs/volumes.h |8 4 files changed, 24 insertions(+), 0

[PATCH v1 4/5] btrfs: hooks for readahead

2011-05-23 Thread Arne Jansen
would wait indefinitely for the extent to finish. Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/disk-io.c | 16 fs/btrfs/extent_io.c |2 +- 2 files changed, 17 insertions(+), 1 deletions(-) diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index 3d4f9c5..7949f30

[PATCH v1 1/5] btrfs: add READAHEAD extent state

2011-05-23 Thread Arne Jansen
Add a READAHEAD extent state flag. Add a function to trigger a read with this flag set. Reset the flag in the end_io hook Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/disk-io.c | 36 fs/btrfs/disk-io.h |2 ++ fs/btrfs/extent_io.c | 10

[PATCH v1 0/5] btrfs: generic readeahead interface

2011-05-23 Thread Arne Jansen
the extent tree (traditional): 351s - enumerating the extent tree (readahead): 41s - enumerating extents+csum tree (readahead): 49s The implementation is also tested with this tool in various combinations of parallel reads of the same and of different trees. Arne Jansen (5): btrfs: add READAHEAD

[PATCH v1 3/5] btrfs: initial readahead code and prototypes

2011-05-23 Thread Arne Jansen
faster than the 2 started one after another. Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/Makefile |2 +- fs/btrfs/ctree.h |9 + fs/btrfs/reada.c | 963 + 3 files changed, 973 insertions(+), 1 deletions(-) diff --git a/fs

[PATCH v1 5/5] btrfs: test ioctl for readahead

2011-05-23 Thread Arne Jansen
This ioctl is added to trigger a readahead from user mode. It implements a readahead using the new interface and also a traditional tree walk. This way it's possible to measure the two side by side. Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/ioctl.c | 86

[PATCH] btrfs-progs: btrfs-reada, test program for readahead

2011-05-23 Thread Arne Jansen
-by: Arne Jansen sensi...@gmx.net --- Makefile |5 +- btrfs-reada.c | 180 + ioctl.h | 16 + 3 files changed, 200 insertions(+), 1 deletions(-) create mode 100644 btrfs-reada.c diff --git a/Makefile b/Makefile index 6e6f6c6

[PATCH v4 0/3] btrfs: quasi-round-robin for chunk allocation

2011-05-13 Thread Arne Jansen
: - move declarations from function-level to local scopes where possible - remove an unnecessary BUG_ON - change BUG - WARN if a device is not writable and ignore the device - rename *num_bytes to num_bytes_out for consistency - transform a while loop that mimics a for loop into a for loop Arne

[PATCH v4 2/3] btrfs: heed alloc_start

2011-05-13 Thread Arne Jansen
as the allocator failed to take alloc_start into account when calculating the request chunk size. As this gets fixed by this patch, the workaround is not necessary anymore. Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/volumes.c |5 + 1 files changed, 1 insertions(+), 4 deletions(-) diff

[PATCH v4 1/3] btrfs: move btrfs_cmp_device_free_bytes to super.c

2011-05-13 Thread Arne Jansen
this function won't be used here anymore, so move it super.c where it is used for df-calculation Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/super.c | 26 ++ fs/btrfs/volumes.c | 13 - fs/btrfs/volumes.h | 15 --- 3 files

[PATCH v4 3/3] btrfs: quasi-round-robin for chunk allocation

2011-05-13 Thread Arne Jansen
. We still avoid allocating stripes that are not a multiple of STRIPE_SIZE. Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/volumes.c | 503 +++- fs/btrfs/volumes.h |1 + 2 files changed, 188 insertions(+), 316 deletions(-) diff --git

[PATCH] btrfs progs: fix extra metadata chunk allocation in --mixed case

2011-05-05 Thread Arne Jansen
be to pull the full changeset for the mixed case from the kernel into the user mode (or, even better, share the code) The additional chunk probably confused block_rsv calculation, which in turn led to severeal ENOSPC Oopses. Signed-off-by: Arne Jansen sensi...@gmx.net --- extent-tree.c |7

[PATCH v3 0/3] btrfs: quasi-round-robin for chunk allocation

2011-05-02 Thread Arne Jansen
initialization lacked a case for the 'single' type, thus leaving devs_max at the wrong value Arne Jansen (3): btrfs: move btrfs_cmp_device_free_bytes to super.c btrfs: heed alloc_start btrfs: quasi-round-robin for chunk allocation fs/btrfs/super.c | 25 +++ fs/btrfs/volumes.c | 494

[PATCH v3 1/3] btrfs: move btrfs_cmp_device_free_bytes to super.c

2011-05-02 Thread Arne Jansen
this function won't be used here anymore, so move it super.c where it is used for df-calculation Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/super.c | 25 + fs/btrfs/volumes.c | 13 - fs/btrfs/volumes.h | 15 --- 3 files

[PATCH v3 2/3] btrfs: heed alloc_start

2011-05-02 Thread Arne Jansen
as the allocator failed to take alloc_start into account when calculating the request chunk size. As this gets fixed by this patch, the workaround is not necessary anymore. Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/volumes.c |5 + 1 files changed, 1 insertions(+), 4 deletions(-) diff

[PATCH v3 3/3] btrfs: quasi-round-robin for chunk allocation

2011-05-02 Thread Arne Jansen
. We still avoid allocating stripes that are not a multiple of STRIPE_SIZE. Changes from v2: - bugfix for 'single' raid type; the initial parameter initialization lacked a case for the 'single' type, thus leaving devs_max at the wrong value Signed-off-by: Arne Jansen sensi...@gmx.net --- fs

Re: btrfs raid health status

2011-05-02 Thread Arne Jansen
On 02.05.2011 15:13, Roman Kapusta wrote: I have unmounted and again mounted btrfs filesystem, now I can see errors in dmesg. Is there also some error/health summary, like in btrfs fi show? There is no error accounting or reparing yet, but you can check out the scrub patches. They'll read and

Re: [PATCH] Btrfs: don't reserve metadata when we're using the delalloc reserve

2011-04-13 Thread Arne Jansen
On 13.04.2011 18:06, Josef Bacik wrote: There are a bunch of places where we do btrfs_join_transaction(root, 1), but really we set the block_rsv to the delalloc reserve because our metadata was reserved at delalloc time. This means we don't need to reserve space at all, and can just join the

Re: [PATCH] Btrfs: do not release delalloc space until after we end the transaction

2011-04-13 Thread Arne Jansen
On 13.04.2011 20:54, Josef Bacik wrote: There have been many sporadic reports of the following panic [ cut here ] kernel BUG at fs/btrfs/extent-tree.c:5498! invalid opcode: [#1] PREEMPT SMP last sysfs file: /sys/devices/system/cpu/cpu7/cache/index2/shared_cpu_map

[PATCH v2 1/3] btrfs: move btrfs_cmp_device_free_bytes to super.c

2011-04-12 Thread Arne Jansen
this function won't be used here anymore, so move it super.c where it is used for df-calculation Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/super.c | 25 + fs/btrfs/volumes.c | 13 - fs/btrfs/volumes.h | 15 --- 3 files

[PATCH v2 0/3] btrfs: quasi-round-robin for chunk allocation

2011-04-12 Thread Arne Jansen
. We still avoid allocating stripes that are not a multiple of STRIPE_SIZE. Changes from v1: - split into multiple parts - added some comments - generated with --patience for better readability Arne Jansen (3): btrfs: move btrfs_cmp_device_free_bytes to super.c btrfs: heed alloc_start

[PATCH v2 2/3] btrfs: heed alloc_start

2011-04-12 Thread Arne Jansen
as the allocator failed to take alloc_start into account when calculating the request chunk size. As this gets fixed by this patch, the workaround is not necessary anymore. Signed-off-by: Arne Jansen sensi...@gmx.net --- fs/btrfs/volumes.c |5 + 1 files changed, 1 insertions(+), 4 deletions(-) diff

<    1   2   3   4   >