[cc to the list]
On Sun, May 20, 2012 at 19:00 (+0200), Andrei Popa wrote:
> For testing qgroup, the patches for btrfs-progs sent last year are ok ?
> http://www.mail-archive.com/linux-btrfs@vger.kernel.org/msg12724.html
Yes, that's the link to the patches required. Sorry for missing it in my
ori
Hi Tsutomu,
On Mon, May 21, 2012 at 01:44 (+0200), Tsutomu Itoh wrote:
>> +static noinline int
>> +__tree_mod_log_insert(struct btrfs_fs_info *fs_info, struct tree_mod_elem
>> *tm)
>> +{
>> +struct rb_root *tm_root;
>> +struct rb_node **new;
>> +struct rb_node *parent = NULL;
>> +
On 21/05/12 15:22, Marc MERLIN wrote:
> Have the free space problems been fixed in 3.3.x or is the 3.4.x branch
> better or should I stay with 3.2.x for safety?
There have been some fixes pushed back from the development tree into
the stable tree for 3.3.x (for the first time in btrfs's history I
On Fri, 18 May 2012 14:52:07 +0200, David Sterba wrote:
> On Thu, May 17, 2012 at 07:58:21PM +0800, Miao Xie wrote:
>> --- a/fs/btrfs/super.c
>> +++ b/fs/btrfs/super.c
>> @@ -1151,6 +1151,8 @@ static int btrfs_remount(struct super_block *sb, int
>> *flags, char *data)
>> /* pause rest
Hi,
I upgraded to 3.3.x lately and had no end of problems with btrfs saying my
disk was full when it was not.
I read that btrfs in 3.3.x had issue and got the recommendation to
downgrade, so I went back to 3.2.16 which works for me.
Of course, I need a newer kernel for other reasons and I can't
Hi Josef,
On fri, 18 May 2012 15:01:05 -0400, Josef Bacik wrote:
> diff --git a/fs/btrfs/btrfs_inode.h b/fs/btrfs/btrfs_inode.h
> index 9b9b15f..492c74f 100644
> --- a/fs/btrfs/btrfs_inode.h
> +++ b/fs/btrfs/btrfs_inode.h
> @@ -57,9 +57,6 @@ struct btrfs_inode {
> /* used to order data wrt m
This patch fixes two bugs:
When we do not assigne a device id for the resizer,
- it will only take one device to resize, which is supposed to apply on
all available devices.
- it will take 'id 1' device as default, and this will cause a bug as we
may have removed the 'id 1' device from the fil
Seeding devices are not supposed to change any more.
Signed-off-by: Liu Bo
---
v1->v2: use EINVAL instead, suggested by David Sterba
fs/btrfs/ioctl.c |7 +++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index f056469..ec2245d 100644
On 05/18/2012 09:01 PM, David Sterba wrote:
> On Thu, May 17, 2012 at 08:08:08PM +0800, Liu Bo wrote:
>> --- a/fs/btrfs/ioctl.c
>> +++ b/fs/btrfs/ioctl.c
>> @@ -1303,6 +1303,13 @@ static noinline int btrfs_ioctl_resize(struct
>> btrfs_root *root,
>> ret = -EINVAL;
>> got
On 05/18/2012 09:32 PM, Alex Lyakas wrote:
> Thank you, Hugo, for the detailed explanation. I am now able to find
> the CHUNK_ITEMs and to successfully locate the file data on disk.
> Can you maybe address several follow-up questions I have?
>
> # When looking for CHUNK_ITEMs, should I check that
Hi Jan,
(2012/05/21 1:06), Jan Schmidt wrote:
> From: Arne Jansen
>
> Signed-off-by: Arne Jansen
> Signed-off-by: Jan Schmidt
> ---
> fs/btrfs/Makefile |2 +-
> fs/btrfs/ctree.h | 33 ++
> fs/btrfs/ioctl.h | 24 +
> fs/btrfs/qgroup.c | 1531
> ++
Hi Jan,
(2012/05/21 1:06), Jan Schmidt wrote:
> The tree mod log will log modifications made fs-tree nodes. Most
> modifications are done by autobalance of the tree. Such changes are recorded
> as long as a block entry exists. When released, the log is cleaned.
>
> With the tree modification log,
Before this patch we called find_all_leafs for a data extent, then called
find_all_roots and then looked into the extent to grab the information
we were seeking. This was done without holding the leaves locked to avoid
deadlocks. However, this can obviouly race with concurrent tree
modifications.
The key we store with a tree block backref is only a hint. It is set when
the ref is created and can remain correct for a long time. As the tree is
rebalanced, however, eventually the key no longer points to the correct
destination.
With this patch, we change find_parent_nodes to no longer add key
This enables backref resolving on life trees while they are changing. This
is a prerequisite for quota groups and just nice to have for everything
else.
Signed-off-by: Jan Schmidt
---
fs/btrfs/backref.c | 43 +++
fs/btrfs/backref.h |3 ++-
2 files ch
Three callers of btrfs_free_tree_block or btrfs_alloc_tree_block passed
parameter for_cow = 1. In fact, these two functions should never mark
their tree modification operations as for_cow, because they can change
the number of blocks referenced by a tree.
Hence, we remove the extra for_cow paramet
This is a combination of three things:
The first commit fixes a false assumption concerning indirect tree block
backrefs. That one should definitely go into 3.5, thanks to Alexander
Block for finding and testing it.
Commit 2 to 12 provide reliable backref resolving on busy trees. The
previous att
From: Arne Jansen
Ioctls to control the qgroup feature like adding and
removing qgroups and assigning qgroups.
Signed-off-by: Arne Jansen
---
fs/btrfs/ioctl.c | 185 ++
fs/btrfs/ioctl.h | 27
2 files changed, 212 insertions(+), 0
Signed-off-by: Jan Schmidt
---
fs/btrfs/ctree.h |9 +
fs/btrfs/disk-io.c |5 +
2 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index e0da6db..6774821 100644
--- a/fs/btrfs/ctree.h
+++ b/fs/btrfs/ctree.h
@@ -1129,6 +1129,15
Signed-off-by: Jan Schmidt
---
fs/btrfs/ctree.h |7 +++
fs/btrfs/delayed-ref.h |5 -
2 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index e863188..e0da6db 100644
--- a/fs/btrfs/ctree.h
+++ b/fs/btrfs/ctree.h
@@ -3098,4 +309
From: Arne Jansen
This creates a brand new tree. Will be used to create
the quota tree.
Signed-off-by: Arne Jansen
---
fs/btrfs/disk-io.c | 78 +++-
fs/btrfs/disk-io.h |5 +++
2 files changed, 82 insertions(+), 1 deletions(-)
diff --git a/
The tree mod log will log modifications made fs-tree nodes. Most
modifications are done by autobalance of the tree. Such changes are recorded
as long as a block entry exists. When released, the log is cleaned.
With the tree modification log, it's possible to reconstruct a consistent
old state of t
The tree modification log together with the current state of the tree gives
a consistent, old version of the tree. btrfs_search_old_slot is used to
search through this old version and return old (dummy!) extent buffers.
Naturally, this function cannot do any tree modifications.
Signed-off-by: Jan
From: Arne Jansen
This patch only add a consistancy check to validate that the
same root is passed to start_transaction and end_transaction.
Subvolume quota depends on this.
Signed-off-by: Arne Jansen
---
fs/btrfs/transaction.c |6 ++
fs/btrfs/transaction.h |6 ++
2 files chang
From: Arne Jansen
Not all features are in use by the current version
and thus may change in the future.
Signed-off-by: Arne Jansen
---
fs/btrfs/ctree.h | 136 ++
1 files changed, 136 insertions(+), 0 deletions(-)
diff --git a/fs/btrfs/ctree
From: Arne Jansen
Normally delayed refs get processed in ascending bytenr order. This
correlates in most cases to the order added. To expose dependencies
on this order, we start to process the tree in the middle instead of
the beginning.
This code is only effective when SCRAMBLE_DELAYED_REFS is d
From: Arne Jansen
Add state to fs_info.
Signed-off-by: Arne Jansen
---
fs/btrfs/ctree.h | 31 +++
fs/btrfs/disk-io.c |7 +++
2 files changed, 38 insertions(+), 0 deletions(-)
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index 283c992..2b6f003 100644
From: Arne Jansen
Init the quota tree along with the others on open_ctree
and close_ctree. Add the quota tree to the list of well
known trees in btrfs_read_fs_root_no_name.
Signed-off-by: Arne Jansen
---
fs/btrfs/ctree.h |1 +
fs/btrfs/disk-io.c | 47 +++
From: Arne Jansen
Signed-off-by: Arne Jansen
Signed-off-by: Jan Schmidt
---
fs/btrfs/Makefile |2 +-
fs/btrfs/ctree.h | 33 ++
fs/btrfs/ioctl.h | 24 +
fs/btrfs/qgroup.c | 1531 +
4 files changed, 1589 insertions(+), 1 deletions(-)
From: Arne Jansen
Often no exact match is wanted but just the next lower or
higher item. There's a lot of duplicated code throughout
btrfs to deal with the corner cases. This patch adds a
helper function that can facilitate searching.
Signed-off-by: Arne Jansen
---
fs/btrfs/ctree.c | 72
From: Arne Jansen
When creating a subvolume or snapshot, it is necessary
to initialize the qgroup account with a copy of some
other (tracking) qgroup. This patch adds parameters
to the ioctls to pass the information from which qgroup
to inherit.
Signed-off-by: Arne Jansen
---
fs/btrfs/ioctl.c
From: Arne Jansen
Like block reserves, reserve a small piece of space on each
transaction start and for delalloc. These are the hooks that
can actually return EDQUOT to the user.
The amount of space reserved is tracked in the transaction
handle.
Signed-off-by: Arne Jansen
---
fs/btrfs/extent-t
When a fresh transaction begins, the tree mod log must be clean. Users of
the tree modification log must ensure they never span across transaction
boundaries.
We reset the sequence to 0 in this safe situation to make absolutely sure
overflow can't happen.
Signed-off-by: Jan Schmidt
---
fs/btrfs
From: Arne Jansen
Hooks into qgroup code to record refs and into transaction commit.
This is the main entry point for qgroup. Basically every change in
extent backrefs got accounted to the appropriate qgroups.
Signed-off-by: Arne Jansen
---
fs/btrfs/delayed-ref.c | 29 +++
When running functions that can make changes to the internal trees
(e.g. btrfs_search_slot), we check if somebody may be interested in the
block we're currently modifying. If so, we record our modification to be
able to rewind it later on.
Signed-off-by: Jan Schmidt
---
fs/btrfs/ctree.c | 126 +
The tree modification log needs two ways to create dummy extent buffers,
once by allocating a fresh one (to rebuild an old root) and once by
cloning an existing one (to make private rewind modifications) to it.
Signed-off-by: Jan Schmidt
---
fs/btrfs/extent_io.c | 73 ++
Signed-off-by: Jan Schmidt
---
fs/btrfs/transaction.c | 37 +++--
1 files changed, 19 insertions(+), 18 deletions(-)
diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c
index 3642225..eb2bd82 100644
--- a/fs/btrfs/transaction.c
+++ b/fs/btrfs/transactio
Hugo,
thanks for helping out!
Hopefully, somebody else will address the rest of my questions.
Alex.
On Fri, May 18, 2012 at 4:59 PM, Hugo Mills wrote:
> On Fri, May 18, 2012 at 04:32:09PM +0300, Alex Lyakas wrote:
>> Thank you, Hugo, for the detailed explanation. I am now able to find
>> the CH
38 matches
Mail list logo