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
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
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
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
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
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.
.
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
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
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
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
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
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,
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
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
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
://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
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
.
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
.
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
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
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
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
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
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
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
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
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
.
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
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
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
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
.
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
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
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
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
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
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
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
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
.
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
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
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
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
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
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
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
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
.
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
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
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
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
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
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(-)
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
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
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
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
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
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
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
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
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
;
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
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
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
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
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
.
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
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
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]
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
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
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
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
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
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
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
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
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
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
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
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
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
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
-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
:
- 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
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
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
.
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
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
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
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
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
.
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
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
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
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
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
.
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
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
201 - 300 of 366 matches
Mail list logo