e able to search down the snapshot we are deleting, which will
cause us to miss roots. So use btrfs_get_fs_root and send false for check_ref
so we can always get the root we're looking for. Thanks,
Signed-off-by: Josef Bacik <jba...@fb.com>
Signed-off-by: Mark Fasheh <mfas...@suse.de
This patch adds tracepoints to the qgroup code on both the reporting side
(insert_dirty_extents) and the accounting side. Taken together it allows us
to see what qgroup operations have happened, and what their result was.
Signed-off-by: Mark Fasheh <mfas...@suse.de>
---
fs/btrfs/qg
remove the roots at the same time it drops the commit roots. This will keep all
of the backref searching code in sync properly, and fixes a problem Mark was
seeing with snapshot delete and qgroups. Thanks,
Signed-off-by: Josef Bacik <jba...@fb.com>
Signed-off-by: Mark Fasheh <mfas...@s
/b09ca51c012824e44546b13862ab1f93a6f2f675
Thanks,
--Mark
From: Mark Fasheh <mfas...@suse.de>
[PATCH] btrfs: add test for quota groups and drop snapshot
Test btrfs quota group consistency operations during snapshot
delete. Btrfs has had long standing issues with drop snapshot
failing to pr
/inc functions so we don't have to add actions beyond
what we had originally.
Signed-off-by: Mark Fasheh <mfas...@suse.de>
---
fs/btrfs/extent-tree.c | 41 ++---
1 file changed, 34 insertions(+), 7 deletions(-)
diff --git a/fs/btrfs/extent-tree.c b/fs
On Tue, Sep 22, 2015 at 01:15:44PM -0700, Mark Fasheh wrote:
> The entire patch series can be tested with the following xfstests.git
> patch, which will be sent to the appropriate list shortly)
>
> https://github.com/markfasheh/xfstests/commit/b09ca51c012824e44546b13862ab
for snapshot deletion.
Indeed. My tests against a kernel with Josefs patches and my snapshot
deletion code seem to be passing. I'll have something on the list shortly.
Thanks,
--Mark
--
Mark Fasheh
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thu, Sep 10, 2015 at 10:33:02PM +0100, Filipe David Manana wrote:
> On Thu, Sep 10, 2015 at 10:01 PM, Mark Fasheh <mfas...@suse.de> wrote:
> > Hi Qu,
> >
> > On Tue, Sep 08, 2015 at 04:56:52PM +0800, Qu Wenruo wrote:
> >> [[BUG]]
> >> O
k through a few of these, none of them have any trace_*
functions, yet you're adding several new entrypoints to the qgroup code.
Those are incredibly useful for debugging on live systems and in fact I've
got a patch which reintroduces the ones you removed in your last patch
series ;)
This time around c
+0800:
Qu Wenruo wrote on 2015/08/18 09:42 +0800:
Mark Fasheh wrote on 2015/08/17 14:13 -0700:
Hi Qu,
Firstly thanks for the response. I have a few new questions and comments
below,
On Mon, Aug 17, 2015 at 09:33:54AM +0800, Qu Wenruo wrote:
Thanks for pointing out the problem
qgroup is enabled and the snapshot to delete is above level 1(level
starts from 0), then mark the QGROUP_INCONSISTENT flag to info user
to do a rescan.
This is exactly the kind of band-aid solution we wanted to avoid the first
time qgroups and subvolume handling were fixed.
--Mark
--
Mark
On Thu, Aug 13, 2015 at 04:13:08PM -0700, Mark Fasheh wrote:
If there *is* a plan to make this all work again, can I please hear it? The
comment mentions something about adding those nodes to a dirty_extent_root.
Why wasn't that done?
Ok so I had more time to look through the changes today
Hi I was looking at qgroups in linux 4.2 and noticed that the code to handle
subvolume deletion was removed and replaced with a comment:
/*
* TODO: Modify related function to add related node/leaf to
* dirty_extent_root,
* for later qgroup accounting.
*
* Current, this function does nothing.
thanks for pointing that out Holger!
--Mark
--
Mark Fasheh
--
To unsubscribe from this list: send the line unsubscribe linux-btrfs in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
deal).
--Mark
--
Mark Fasheh
--
To unsubscribe from this list: send the line unsubscribe linux-btrfs in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Signed-off-by: Filipe Manana fdman...@suse.com
Reviewed-by: Mark Fasheh mfas...@suse.de
--Mark
--
Mark Fasheh
--
To unsubscribe from this list: send the line unsubscribe linux-btrfs in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo
that but in your case almost everything will be reported
shared. Btw, I have to leave my office now but will get to the rest of your
e-mail
later.
--
Mark Fasheh
--
To unsubscribe from this list: send the line unsubscribe linux-btrfs in
the body of a message to majord...@vger.kernel.org
More majordomo
against any other extent.
For duperemove to discover it though you have to provide it a path which
will eventually resolve to those extents (that is, duperemove has to find it
in the file scan stage).
--Mark
--
Mark Fasheh
--
To unsubscribe from this list: send the line unsubscribe linux
Manana fdman...@suse.com
Reviewed-by: Mark Fasheh mfas...@suse.de
--Mark
--
Mark Fasheh
--
To unsubscribe from this list: send the line unsubscribe linux-btrfs in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
and
btrfs_cmp_data_free()
to clean up our context.
Signed-off-by: Mark Fasheh mfas...@suse.de
Reviewed-by: David Sterba dste...@suse.cz
---
fs/btrfs/ioctl.c | 148 +++
1 file changed, 117 insertions(+), 31 deletions(-)
diff --git a/fs/btrfs/ioctl.c b/fs
, removing a case
(both inodes being the same) which was poorly accounted for and never
actually used by the callers.
Signed-off-by: Mark Fasheh mfas...@suse.de
Reviewed-by: David Sterba dste...@suse.cz
---
fs/btrfs/ioctl.c | 34 --
1 file changed, 8 insertions(+), 26
In the case that we dedupe the tail of a file, we might expand the dedupe
len out to the end of our last block. We don't want to compare data past
i_size however, so pass the original length to btrfs_cmp_data().
Signed-off-by: Mark Fasheh mfas...@suse.de
Reviewed-by: David Sterba dste...@suse.cz
clone() supports cloning within an inode so extent-same can do
the same now. This patch fixes up the locking in extent-same to
know about the single-inode case. In addition to that, we add a
check for overlapping ranges, which clone does not allow.
Signed-off-by: Mark Fasheh mfas...@suse.de
Hi Chris,
The following patches are based on top of my patch titled btrfs:
Handle unaligned length in extent_same which you have in your
'integration-4.2' branch:
https://git.kernel.org/cgit/linux/kernel/git/mason/linux-btrfs.git/commit/?id=e1d227a42ea2b4664f94212bd1106b9a3413ffb8
The series
to
the user.
Clone still wants time changes, so we special case this in the code.
This was tested with the btrfs-extent-same tool.
Signed-off-by: Mark Fasheh mfas...@suse.de
---
fs/btrfs/ioctl.c | 24 ++--
1 file changed, 14 insertions(+), 10 deletions(-)
diff --git a/fs/btrfs
On Sat, Jun 27, 2015 at 05:44:28PM -0400, Zygo Blaxell wrote:
On Fri, Jun 26, 2015 at 02:01:01PM -0700, Mark Fasheh wrote:
One issue users have reported is that dedupe changes mtime on files,
resulting in tools like rsync thinking that their contents have changed when
in fact the data
On Mon, Jun 29, 2015 at 03:35:02PM -0400, Zygo Blaxell wrote:
On Mon, Jun 29, 2015 at 10:52:41AM -0700, Mark Fasheh wrote:
On Sat, Jun 27, 2015 at 05:44:28PM -0400, Zygo Blaxell wrote:
On Fri, Jun 26, 2015 at 02:01:01PM -0700, Mark Fasheh wrote:
One issue users have reported
-same tool.
Signed-off-by: Mark Fasheh mfas...@suse.de
---
fs/btrfs/ioctl.c | 25 +++--
1 file changed, 15 insertions(+), 10 deletions(-)
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index 83f4679..0af0f13 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -87,7 +87,8
and
btrfs_cmp_data_free()
to clean up our context.
Signed-off-by: Mark Fasheh mfas...@suse.de
Reviewed-by: David Sterba dste...@suse.cz
---
fs/btrfs/ioctl.c | 148 +++
1 file changed, 117 insertions(+), 31 deletions(-)
diff --git a/fs/btrfs/ioctl.c b/fs
clone() supports cloning within an inode so extent-same can do
the same now. This patch fixes up the locking in extent-same to
know about the single-inode case. In addition to that, we add a
check for overlapping ranges, which clone does not allow.
Signed-off-by: Mark Fasheh mfas...@suse.de
Hi Chris,
The following patches are based on top of my patch titled btrfs:
Handle unaligned length in extent_same which you have in your
'integration-4.2' branch:
https://git.kernel.org/cgit/linux/kernel/git/mason/linux-btrfs.git/commit/?id=e1d227a42ea2b4664f94212bd1106b9a3413ffb8
The series
In the case that we dedupe the tail of a file, we might expand the dedupe
len out to the end of our last block. We don't want to compare data past
i_size however, so pass the original length to btrfs_cmp_data().
Signed-off-by: Mark Fasheh mfas...@suse.de
Reviewed-by: David Sterba dste...@suse.cz
, removing a case
(both inodes being the same) which was poorly accounted for and never
actually used by the callers.
Signed-off-by: Mark Fasheh mfas...@suse.de
Reviewed-by: David Sterba dste...@suse.cz
---
fs/btrfs/ioctl.c | 34 --
1 file changed, 8 insertions(+), 26
of content change. Why do we need the flag at all?
Good point, I don't see the usecase for updating MTIME.
Yeah there isn't one and I doubt anyone will be upset if we just always
ignore the mtime update. I'll send some new patches shortly.
Thanks for the suggestion Zygo.
--Mark
--
Mark
On Tue, Jun 23, 2015 at 05:11:56PM +0200, David Sterba wrote:
On Mon, Jun 22, 2015 at 03:47:42PM -0700, Mark Fasheh wrote:
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -87,7 +87,8 @@ struct btrfs_ioctl_received_subvol_args_32 {
static int btrfs_clone(struct inode *src, struct
clone() supports cloning within an inode so extent-same can do
the same now. This patch fixes up the locking in extent-same to
know about the single-inode case. In addition to that, we add a
check for overlapping ranges, which clone does not allow.
Signed-off-by: Mark Fasheh mfas...@suse.de
the BTRFS_SAME_NO_MTIME flag to a
dedupe request and the kernel will honor it by only changing ctime.
I have an updated version of the btrfs-extent-same test program with a
switch to provide this flag at the 'no_time' branch of:
https://github.com/markfasheh/duperemove/
Signed-off-by: Mark Fasheh
and
btrfs_cmp_data_free()
to clean up our context.
Signed-off-by: Mark Fasheh mfas...@suse.de
Reviewed-by: David Sterba dste...@suse.cz
---
fs/btrfs/ioctl.c | 148 +++
1 file changed, 117 insertions(+), 31 deletions(-)
diff --git a/fs/btrfs/ioctl.c b/fs
In the case that we dedupe the tail of a file, we might expand the dedupe
len out to the end of our last block. We don't want to compare data past
i_size however, so pass the original length to btrfs_cmp_data().
Signed-off-by: Mark Fasheh mfas...@suse.de
Reviewed-by: David Sterba dste...@suse.cz
, removing a case
(both inodes being the same) which was poorly accounted for and never
actually used by the callers.
Signed-off-by: Mark Fasheh mfas...@suse.de
Reviewed-by: David Sterba dste...@suse.cz
---
fs/btrfs/ioctl.c | 34 --
1 file changed, 8 insertions(+), 26
Hi Chris,
The following patches are based on top of my patch titled btrfs:
Handle unaligned length in extent_same which you have in your
'integration-4.2' branch:
https://git.kernel.org/cgit/linux/kernel/git/mason/linux-btrfs.git/commit/?id=e1d227a42ea2b4664f94212bd1106b9a3413ffb8
The series
Hi Chris,
The following patches are based on top of my patch titled btrfs:
Handle unaligned length in extent_same which you have in your
'integration-4.2' branch:
https://git.kernel.org/cgit/linux/kernel/git/mason/linux-btrfs.git/commit/?id=e1d227a42ea2b4664f94212bd1106b9a3413ffb8
I sent
and
btrfs_cmp_data_free()
to clean up our context.
Signed-off-by: Mark Fasheh mfas...@suse.de
Reviewed-by: David Sterba dste...@suse.cz
---
fs/btrfs/ioctl.c | 148 +++
1 file changed, 117 insertions(+), 31 deletions(-)
diff --git a/fs/btrfs/ioctl.c b/fs
, removing a case
(both inodes being the same) which was poorly accounted for and never
actually used by the callers.
Signed-off-by: Mark Fasheh mfas...@suse.de
---
fs/btrfs/ioctl.c | 34 --
1 file changed, 8 insertions(+), 26 deletions(-)
diff --git a/fs/btrfs/ioctl.c
In the case that we dedupe the tail of a file, we might expand the dedupe
len out to the end of our last block. We don't want to compare data past
i_size however, so pass the original length to btrfs_cmp_data().
Signed-off-by: Mark Fasheh mfas...@suse.de
Reviewed-by: David Sterba dste...@suse.cz
the BTRFS_SAME_NO_MTIME flag to a
dedupe request and the kernel will honor it by only changing ctime.
I have an updated version of the btrfs-extent-same test program with a
switch to provide this flag at the 'no_time' branch of:
https://github.com/markfasheh/duperemove/
Signed-off-by: Mark Fasheh
clone() supports cloning within an inode so extent-same can do
the same now. This patch fixes up the locking in extent-same to
know about the single-inode case. In addition to that, we add a
check for overlapping ranges, which clone does not allow.
Signed-off-by: Mark Fasheh mfas...@suse.de
On Fri, Jun 19, 2015 at 05:47:53PM +0200, David Sterba wrote:
On Thu, Jun 18, 2015 at 02:10:03PM -0700, Mark Fasheh wrote:
So I split btrfs_cmp_data() into 3 parts with a small context structure that
is passed between them. The first, btrfs_cmp_data_prepare() gathers up the
pages needed
and
btrfs_cmp_data_free()
to clean up our context.
Signed-off-by: Mark Fasheh mfas...@suse.de
---
fs/btrfs/ioctl.c | 148 +++
1 file changed, 117 insertions(+), 31 deletions(-)
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index 2deea1f..b899584
In the case that we dedupe the tail of a file, we might expand the dedupe
len out to the end of our last block. We don't want to compare data past
i_size however, so pass the original length to btrfs_cmp_data().
Signed-off-by: Mark Fasheh mfas...@suse.de
---
fs/btrfs/ioctl.c | 3 ++-
1 file
Hi Chris,
The following fixes are based on top of my patch titled btrfs:
Handle unaligned length in extent_same which you have in your
'integration-4.2' branch:
https://git.kernel.org/cgit/linux/kernel/git/mason/linux-btrfs.git/commit/?id=e1d227a42ea2b4664f94212bd1106b9a3413ffb8
The first
mine
in there if it's easiest or take Matt's if you like it better. Both were
tested the same way on my end too. Thanks Chris.
--Mark
--
Mark Fasheh
--
To unsubscribe from this list: send the line unsubscribe linux-btrfs in
the body of a message to majord...@vger.kernel.org
More majordomo
to the
file lengths and would be internally extended to the end of the block
(1,015,808), allowing one set of extents to be shared completely between
the full length of both files.
Signed-off-by: Matt Robinson g...@nerdoftheherd.com
Reviewed-by: Mark Fasheh mfas...@suse.de
---
fs/btrfs/ioctl.c | 21
of these behaviors winds up giving us worst-case dedupe on
many files.
We can fix this by allowing a length that extents to i_size and
internally aligining those to the end of the block. This is what
btrfs_ioctl_clone() so we can just copy that check over.
Signed-off-by: Mark Fasheh mfas...@suse.de
---
fs/btrfs
On Mon, Jun 08, 2015 at 11:36:25PM +, Holger Hoffstätte wrote:
On Mon, 08 Jun 2015 15:05:25 -0700, Mark Fasheh wrote:
The extent-same code rejects requests with an unaligned length. This
poses a problem when we want to dedupe the tail extent of files as we
skip cloning the portion
Attached to this e-mail is a single patch version of the change.
Comments/feedback appreciated.
Signed-off-by: Mark Fasheh mfas...@suse.de
diff --git a/Makefile.in b/Makefile.in
index 83927e4..6095b6e 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -40,7 +40,7 @@ cmds_objects = cmds-subvolume.o
On Tue, Apr 21, 2015 at 08:49:08PM -0400, Chris Mason wrote:
On 04/21/2015 05:47 PM, Mark Fasheh wrote:
btrfs_check_shared() is leaking a return value of '1' from
find_parent_nodes(). As a result, callers (in this case, extent_fiemap())
are told extents are shared when
who might come across them.
Signed-off-by: Mark Fasheh mfas...@suse.de
---
fs/btrfs/backref.c | 17 +
1 file changed, 17 insertions(+)
diff --git a/fs/btrfs/backref.c b/fs/btrfs/backref.c
index f55721f..8d47380 100644
--- a/fs/btrfs/backref.c
+++ b/fs/btrfs/backref.c
@@ -880,6
features and bug fixing before I'm ready to call
it stable.
Does it work across subvolumes? (Presumably not...)
Yep it will dedupe across subvolumes for you!
--Mark
--
Mark Fasheh
--
To unsubscribe from this list: send the line unsubscribe linux-btrfs in
the body of a message to majord
but other things have kept me busy).
But anyway that should help with the lack of intelligence on what files to
scan.
--Mark
--
Mark Fasheh
--
To unsubscribe from this list: send the line unsubscribe linux-btrfs in
the body of a message to majord...@vger.kernel.org
More majordomo info
correctly.
--Mark
--
Mark Fasheh
--
To unsubscribe from this list: send the line unsubscribe linux-btrfs in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
bunch of work. Thanks,
Agreed, reverting these would re-introduce far more problems than it would
solve.
--Mark
--
Mark Fasheh
--
To unsubscribe from this list: send the line unsubscribe linux-btrfs in
the body of a message to majord...@vger.kernel.org
More majordomo info at http
On Sun, Feb 01, 2015 at 11:51:19PM +0300, Dan Carpenter wrote:
Hello Mark Fasheh,
The patch 1152651a0817: btrfs: qgroup: account shared subtrees
during snapshot delete from Jul 17, 2014, leads to the following
static checker warning:
What checker are you using?
fs/btrfs/extent
Fasheh mfas...@suse.de
if you like, thanks.
--Mark
--
Mark Fasheh
--
To unsubscribe from this list: send the line unsubscribe linux-btrfs in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
in add_qgroup_item() and
initializing the existing items. We have the problem of orphaned
relation items being on disk from an old snapshot but that is outside
the scope of this patch.
Signed-off-by: Mark Fasheh mfas...@suse.de
---
fs/btrfs/qgroup.c | 10 --
1 file changed, 8 insertions(+), 2
.
If btrfs_find_all_roots() returns an error, we need to
free up all allocations before we return. roots is
initialized to NULL, so it should be safe to free
it unconditionally (ulist_free() handles that case).
Great, thanks for this Eric.
Reviewed-by: Mark Fasheh mfas...@suse.de
--
Mark Fasheh
On Tue, Aug 12, 2014 at 02:22:31PM -0400, Chris Mason wrote:
On 07/17/2014 03:39 PM, Mark Fasheh wrote:
During its tree walk, btrfs_drop_snapshot() will skip any shared
subtrees it encounters. This is incorrect when we have qgroups
turned on as those subtrees need to have their contents
On Tue, Aug 12, 2014 at 02:36:17PM -0400, Chris Mason wrote:
On 08/12/2014 02:32 PM, Mark Fasheh wrote:
On Tue, Aug 12, 2014 at 02:22:31PM -0400, Chris Mason wrote:
On 07/17/2014 03:39 PM, Mark Fasheh wrote:
During its tree walk, btrfs_drop_snapshot() will skip any shared
subtrees
software
itself inside the kernel is exactly what we want to avoid by having the
dedupe ioctl in the first place.
--Mark
--
Mark Fasheh
--
To unsubscribe from this list: send the line unsubscribe linux-btrfs in
the body of a message to majord...@vger.kernel.org
More majordomo info at http
itself inside the kernel is exactly what we want to avoid by having the
dedupe ioctl in the first place.
--Mark
--
Mark Fasheh
Based on the same logic however, we don't need scrub to be done kernel
side, as it wouldn't take but one more ioctl to be able to tell it which
block out
ulist_add() can return '1' on sucess, which qgroup_subtree_accounting()
doesn't take into account. As a result, that value can be bubbled up to
callers, causing an error to be printed. Fix this by only returning the
value of ulist_add() when it indicates an error.
Signed-off-by: Mark Fasheh mfas
that some relation items persist, they will not
affect functioning of our level 0 subvolume qgroup.
Signed-off-by: Mark Fasheh mfas...@suse.de
---
fs/btrfs/extent-tree.c | 6 +++
fs/btrfs/qgroup.c | 114 +++--
fs/btrfs/qgroup.h | 3 ++
3 files
for btrfs_dec/inc_ref, so just drop the
argument and make __btrfs_mod_ref call it's process function with no_quota set
always. Thanks,
Signed-off-by: Josef Bacik jba...@fb.com
Signed-off-by: Mark Fasheh mfas...@suse.de
---
fs/btrfs/ctree.c | 20 ++--
fs/btrfs/ctree.h
Hi, the following patches try to fix a long outstanding issue with qgroups
and snapshot deletion. The core problem is that btrfs_drop_snapshot will
skip shared extents during it's tree walk. This results in an inconsistent
qgroup state once the drop is processed. We also have a bug where qgroup
We want this to debug qgroup changes on live systems.
Signed-off-by: Mark Fasheh mfas...@suse.de
Reviewed-by: Josef Bacik jba...@fb.com
---
fs/btrfs/qgroup.c| 3 +++
fs/btrfs/super.c | 1 +
include/trace/events/btrfs.h | 56
is encountered during qgroup accounting, we search for
any root references to that extent and in the case that we find
only one reference left, we go ahead and do the math on it's
exclusive counts.
Signed-off-by: Mark Fasheh mfas...@suse.de
Reviewed-by: Josef Bacik jba...@fb.com
---
fs/btrfs
Hi, the following patches try to fix a long outstanding issue with qgroups
and snapshot deletion. The core problem is that btrfs_drop_snapshot will
skip shared extents during it's tree walk. This results in an inconsistent
qgroup state once the drop is processed. We also have a bug where qgroup
We want this to debug qgroup changes on live systems.
Signed-off-by: Mark Fasheh mfas...@suse.de
Reviewed-by: Josef Bacik jba...@fb.com
---
fs/btrfs/qgroup.c| 3 +++
fs/btrfs/super.c | 1 +
include/trace/events/btrfs.h | 56
is encountered during qgroup accounting, we search for
any root references to that extent and in the case that we find
only one reference left, we go ahead and do the math on it's
exclusive counts.
Signed-off-by: Mark Fasheh mfas...@suse.de
Reviewed-by: Josef Bacik jba...@fb.com
---
fs/btrfs
for btrfs_dec/inc_ref, so just drop the
argument and make __btrfs_mod_ref call it's process function with no_quota set
always. Thanks,
Signed-off-by: Josef Bacik jba...@fb.com
Signed-off-by: Mark Fasheh mfas...@suse.de
---
fs/btrfs/ctree.c | 20 ++--
fs/btrfs/ctree.h
that some relation items persist, they will not
affect functioning of our level 0 subvolume qgroup.
Signed-off-by: Mark Fasheh mfas...@suse.de
---
fs/btrfs/extent-tree.c | 6 +++
fs/btrfs/qgroup.c | 114 +++--
fs/btrfs/qgroup.h | 3 ++
3 files
the previous sleep I
don't think this can be reduced by much :(
--Mark
--
Mark Fasheh
--
To unsubscribe from this list: send the line unsubscribe linux-btrfs in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thu, Jul 10, 2014 at 11:32:28AM -0700, Zach Brown wrote:
On Thu, Jul 10, 2014 at 10:36:14AM -0700, Mark Fasheh wrote:
On Thu, Jul 10, 2014 at 10:43:30AM +1000, Dave Chinner wrote:
On Wed, Jul 09, 2014 at 03:41:50PM -0700, Mark Fasheh wrote:
+
+# Enable qgroups now that we have our
On Thu, Jul 10, 2014 at 12:05:05PM -0700, Zach Brown wrote:
On Thu, Jul 10, 2014 at 12:00:55PM -0700, Mark Fasheh wrote:
On Thu, Jul 10, 2014 at 11:32:28AM -0700, Zach Brown wrote:
On Thu, Jul 10, 2014 at 10:36:14AM -0700, Mark Fasheh wrote:
On Thu, Jul 10, 2014 at 10:43:30AM +1000, Dave
://github.com/markfasheh/xfstests-patches/tree/qgroup-drop-snapshot
Signed-off-by: Mark Fasheh mfas...@suse.de
---
tests/btrfs/057 | 117
tests/btrfs/057.out | 7
tests/btrfs/group | 1 +
3 files changed, 125 insertions(+)
create mode
it depends on (to do qgroup verification) can be
found at:
https://github.com/markfasheh/btrfs-progs-patches/tree/qgroup-verify
Signed-off-by: Mark Fasheh mfas...@suse.de
---
qgroup-verify.c | 14 +-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/qgroup-verify.c b
We want this to debug qgroup changes on live systems.
Signed-off-by: Mark Fasheh mfas...@suse.de
Reviewed-by: Josef Bacik jba...@fb.com
---
fs/btrfs/qgroup.c| 3 +++
fs/btrfs/super.c | 1 +
include/trace/events/btrfs.h | 56
Hi, the following patches try to fix a long outstanding issue with qgroups
and snapshot deletion. The core problem is that btrfs_drop_snapshot will
skip shared extents during it's tree walk. This results in an inconsistent
qgroup state once the drop is processed.
The first patch adds some tracing
is encountered during qgroup accounting, we search for
any root references to that extent and in the case that we find
only one reference left, we go ahead and do the math on it's
exclusive counts.
Signed-off-by: Mark Fasheh mfas...@suse.de
Reviewed-by: Josef Bacik jba...@fb.com
---
fs/btrfs
for btrfs_dec/inc_ref, so just drop the
argument and make __btrfs_mod_ref call it's process function with no_quota set
always. Thanks,
Signed-off-by: Josef Bacik jba...@fb.com
Signed-off-by: Mark Fasheh mfas...@suse.de
---
fs/btrfs/ctree.c | 20 ++--
fs/btrfs/ctree.h
/markfasheh/btrfs-progs-patches/tree/qgroup-verify
Please apply,
Signed-off-by: Mark Fasheh mfas...@suse.de
---
cmds-check.c| 12 +
qgroup-verify.c | 81 ++---
qgroup-verify.h | 2 ++
3 files changed, 92 insertions(+), 3 deletions(-)
diff
Hi, the following patches try to fix a long outstanding issue with qgroups
and snapshot deletion. The core problem is that btrfs_drop_snapshot will
skip shared extents during it's tree walk. This results in an inconsistent
qgroup state once the drop is processed.
The first patch adds some tracing
_always_ need to use no_quota for btrfs_dec/inc_ref, so just drop the
argument and make __btrfs_mod_ref call it's process function with no_quota set
always. Thanks,
Signed-off-by: Josef Bacik jba...@fb.com
Signed-off-by: Mark Fasheh mfas...@suse.de
---
fs/btrfs/ctree.c | 20
We want this to debug qgroup changes on live systems.
Signed-off-by: Mark Fasheh mfas...@suse.de
Reviewed-by: Josef Bacik jba...@fb.com
---
fs/btrfs/qgroup.c| 3 +++
fs/btrfs/super.c | 1 +
include/trace/events/btrfs.h | 56
is encountered during qgroup accounting, we search for
any root references to that extent and in the case that we find
only one reference left, we go ahead and do the math on it's
exclusive counts.
Signed-off-by: Mark Fasheh mfas...@suse.de
Reviewed-by: Josef Bacik jba...@fb.com
---
fs/btrfs
that. Below is patch #2 with all review comments
implemented.
Thanks, Mark
--
Mark Fasheh
From: Mark Fasheh mfas...@suse.de
btrfs: qgroup: account shared subtrees during snapshot delete
During it's tree walk, btrfs_drop_snapshot() will skip any shared
subtrees it encounters. This is incorrect when
Hi, the following patches try to fix a long outstanding issue with qgroups
and snapshot deletion. The core problem is that btrfs_drop_snapshot will
skip shared extents during it's tree walk. This results in an inconsistent
qgroup state once the drop is processed.
The first patch adds some tracing
We want this to debug qgroup changes on live systems.
Signed-off-by: Mark Fasheh mfas...@suse.de
---
fs/btrfs/qgroup.c| 3 +++
fs/btrfs/super.c | 1 +
include/trace/events/btrfs.h | 56
3 files changed, 60 insertions(+)
diff
is encountered during qgroup accounting, we search for
any root references to that extent and in the case that we find
only one reference left, we go ahead and do the math on it's
exclusive counts.
Signed-off-by: Mark Fasheh mfas...@suse.de
---
fs/btrfs/extent-tree.c | 234
Thanks for the review Josef, I will implement everything you mentioned. I
have one question below though:
On Thu, Jun 19, 2014 at 03:25:12PM -0700, Josef Bacik wrote:
On 06/19/2014 02:49 PM, Mark Fasheh wrote:
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index 46f39bf..672d2a4
201 - 300 of 477 matches
Mail list logo