[PATCH] mkfs should initialize unused fields properly

2010-11-19 Thread Jan Schmidt
(buf, extent_item, 1); writes to the same location in buf where speed will be placed, later. It may be a good idea to clear buf after each pwrite(), though leaving the struct btrfs_header intact. Signed-off-by: Jan Schmidt --- utils.c | 10 ++ 1 files changed, 10 insertions(+), 0

[PATCH] xfstests: add background noise to test 276 (btrfs backref resolving)

2013-03-19 Thread Jan Schmidt
purposes. Furthermore, this increases two constants which make the test simply cycle a few seconds longer, increasing the chance to hit on something suspicious in case we broke something. Signed-off-by: Jan Schmidt --- 276 | 29 ++--- 1 files changed, 26 insertions(+), 3

Re: [PATCH] Btrfs: fix backref walking race with tree deletions

2013-03-19 Thread Jan Schmidt
Hi Alex, On Tue, March 12, 2013 at 12:47 (+0100), Alex Lyakas wrote: > Hi Jan, > I have been testing your patch, and definitely the reproducer now passes. > However, my system tests still hit the issue, but unfortunately I am > unable to isolate it into a bash script. All bash scripts work > alrig

Re: [PATCH] xfstests: add background noise to test 276 (btrfs backref resolving)

2013-03-19 Thread Jan Schmidt
On 19.03.2013 18:09, Eric Sandeen wrote: >> Furthermore, this increases two constants which make the test simply cycle a >> few seconds longer, increasing the chance to hit on something suspicious in >> case we broke something. > > Normally we don't change existing tests lest new failures look lik

[PATCH] Btrfs: fix locking on ROOT_REPLACE operations in tree mod log

2013-03-20 Thread Jan Schmidt
commit cfe73f71. Signed-off-by: Jan Schmidt --- Has probably been Reported-by: Alex Lyakas (unconfirmed). fs/btrfs/ctree.c | 30 -- 1 files changed, 20 insertions(+), 10 deletions(-) diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c index aa50952..9dfc74a 100644 --- a

[PATCH v2] Btrfs: fix locking on ROOT_REPLACE operations in tree mod log

2013-03-20 Thread Jan Schmidt
commit cfe73f71. Signed-off-by: Jan Schmidt --- Has probably been Reported-by: Alex Lyakas (unconfirmed). Chages for v2: - use the correct base (current cmason/for-linus) fs/btrfs/ctree.c | 30 -- 1 files changed, 20 insertions(+), 10 deletions(-) diff --git a/fs

[PATCH] Btrfs: fix EIO from btrfs send in is_extent_unchanged for punched holes

2013-03-21 Thread Jan Schmidt
(== the extent is not unchanged) and we're good. Signed-off-by: Jan Schmidt Cc: Alexander Block --- fs/btrfs/send.c | 10 -- 1 files changed, 4 insertions(+), 6 deletions(-) diff --git a/fs/btrfs/send.c b/fs/btrfs/send.c index 68da757..ed897dc 100644 --- a/fs/btrfs/send.c +++

[PATCH] Btrfs-progs: add btrfs-crc tool

2013-03-21 Thread Jan Schmidt
This tool can be used to compute btrfs' style crc32c checksums for filenames as done by the kernel. Additionally, there is -c mode to do a brute force search for file names with a given checksum. Signed-off-by: Jan Schmidt --- Makefile|4 ++ btrfs-crc.c |

Re: [PATCH] Btrfs-progs: fix overflow when printing qgroup info

2013-03-22 Thread Jan Schmidt
On Fri, March 22, 2013 at 12:53 (+0100), Wang Shilong wrote: > From: Wang Shilong > > Since btrfs quota rescan has not been implemented yet, > a user complains that "btrfs qgroup show" lists qgroup > referenced/exclusive be negative. However, this should > not happen even if overflow happens,bec

Re: [PATCH 2/2] Btrfs: kill some BUG_ONs() in the find_parent_nodes()

2013-03-25 Thread Jan Schmidt
> eie = eie->next; > eie->next = ref->inode_list; > } > - BUG_ON(ret < 0); > } > kfree(ref); > } > Otherwise, Review

Re: [PATCH 1/2] Btrfs: fix double free in the btrfs_qgroup_account_ref()

2013-03-25 Thread Jan Schmidt
root = fs_info->quota_root; > @@ -1330,7 +1330,6 @@ int btrfs_qgroup_account_ref(struct btrfs_trans_handle > *trans, > ret = 0; > unlock: > spin_unlock(&fs_info->qgroup_lock); > -out: > ulist_free(roots); > ulist_free(tmp); > >

Re: The -c option of btrfs qgroup limit

2013-03-26 Thread Jan Schmidt
Hi Koen, On 27.03.2013 00:36, Koen De Wit wrote: > The "btrfs qgroup limit" command has an option -c which means "limit amount > of data after compression". Whether this option is specified or not, I seem > to be able to write more well-compressible data than the specified limit. I > was expecting

Re: [PATCH V2 1/6] Btrfs: introduce a mutex lock for btrfs quota operations

2013-04-02 Thread Jan Schmidt
Hi Wang, On Thu, March 28, 2013 at 11:53 (+0100), Wang Shilong wrote: > From: Wang Shilong > > This patch introduces mutex lock 'quota_lock', and makes > all the user change for quota protected by quota_lock. Can you please add a few lines why this lock is needed? I.e., which ioctls fail withou

[PATCH 2/2] Btrfs: automatic rescan after "quota enable" command

2013-04-05 Thread Jan Schmidt
When qgroup tracking is enabled, we do an automatic cycle of the new rescan mechanism. Signed-off-by: Jan Schmidt --- fs/btrfs/qgroup.c | 10 ++ 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c index e0d9cf8..772d57e 100644 --- a/fs

[PATCH 0/2] Btrfs: quota rescan for 3.10

2013-04-05 Thread Jan Schmidt
The kernel side for rescan, which is needed if you want to enable qgroup tracking on a non-empty volume. User space patches to come. Jan Schmidt (2): Btrfs: rescan for qgroups Btrfs: automatic rescan after "quota enable" command fs/btrfs/ctree.h | 17 ++- fs/btrfs

[PATCH 1/2] Btrfs: rescan for qgroups

2013-04-05 Thread Jan Schmidt
If qgroup tracking is out of sync, a rescan operation can be started to iterate the extent tree and recalculate all qgroup tracking data. Signed-off-by: Jan Schmidt --- fs/btrfs/ctree.h | 17 ++- fs/btrfs/disk-io.c |6 + fs/btrfs/ioctl.c | 83

[PATCH] Btrfs-progs: quota rescan

2013-04-05 Thread Jan Schmidt
This adds the quota rescan command to be used if qgroup tracking should get out of sync. Can also be used to query the status of a running rescan operation. Signed-off-by: Jan Schmidt --- cmds-quota.c | 63 + ioctl.h | 46

Re: btrfs-progs: re-add send-test

2013-04-08 Thread Jan Schmidt
On 06.04.2013 20:30, Eric Sandeen wrote: > From: Mark Fasheh > > btrfs-progs: re-add send-test > > send-test.c links against libbtrfs and uses the send functionality provided > to decode and print a send stream to the console. This looks pretty much like fardump from Arne's far repository:

Re: btrfs-progs: re-add send-test

2013-04-09 Thread Jan Schmidt
On 09.04.2013 14:27, David Sterba wrote: > On Tue, Apr 09, 2013 at 08:37:12AM +0200, Jan Schmidt wrote: >> > On 06.04.2013 20:30, Eric Sandeen wrote: >>> > > From: Mark Fasheh >>> > > >>> > > btrfs-progs: re-add send-test >>>

Re: kernel BUG at fs/btrfs/ctree.c:1144!

2013-04-10 Thread Jan Schmidt
On Wed, April 10, 2013 at 09:58 (+0200), Ahmet Inan wrote: > I got this problem since 3.8.5 + for-linus (from that time). > Have just tried 3.8.6 + for-linus with "git merge -X theirs > btrfs/for-linus" but still same problem. > Going back to 3.7.4 + for-linus (from that time) doesn't give me the

Lockdep warning on for-linus branch (umount vs. evict_inode)

2013-04-10 Thread Jan Schmidt
I was running fsstress to trigger a tree mod log problem on a current kernel with some custom debug patches applied, so if anyone looking at this needs any line numbers let me know: <4>[ 1221.749586] [ INFO: possible circular locking dependency detected ] <4>[ 1221.749589] 3.8.0+ #9 Not tainted <4

Re: [PATCH] Btrfs: add a rb_tree to improve performance of ulist search

2013-04-11 Thread Jan Schmidt
space, it would look more familiar, though. > + > /* > * ulist is a generic data structure to hold a collection of unique u64 > * values. The only operations it supports is adding to the list and > @@ -34,6 +37,7 @@ struct ulist_iterator { > struct ulist_node { > u64 val;/* valu

Re: [PATCH] Btrfs-progs: don't set INCOMPAT_EXTENDED_IREF flag when making a new fs

2013-04-11 Thread Jan Schmidt
On Thu, April 11, 2013 at 12:28 (+0200), Miao Xie wrote: > There is no extended irefs in the new fs, and we can mount it on > the old kernel without extended iref function safely. So we needn't > set INCOMPAT_EXTENDED_IREF flag when making a new fs, and just set > it when we actually insert a exten

Re: [PATCH 2/2] Btrfs: introduce noextiref mount option

2013-04-11 Thread Jan Schmidt
On Thu, April 11, 2013 at 12:35 (+0200), Miao Xie wrote: > Now, we set incompat flag EXTEND_IREF when we actually need insert a > extend inode reference, not when making a fs. But some users may hope > that the fs still can be mounted on the old kernel, and don't hope we > insert any extend inode r

Re: [PATCH 2/2] Btrfs: introduce noextiref mount option

2013-04-12 Thread Jan Schmidt
On Fri, April 12, 2013 at 06:13 (+0200), Miao Xie wrote: > Onthu, 11 Apr 2013 16:29:48 +0200, Jan Schmidt wrote: >> On Thu, April 11, 2013 at 12:35 (+0200), Miao Xie wrote: >>> Now, we set incompat flag EXTEND_IREF when we actually need insert a >>> extend inode refe

[PATCH 2/3] Btrfs: fix accessing the root pointer in tree mod log functions

2013-04-13 Thread Jan Schmidt
The tree mod log functions were accessing root->node->... directly, without use of btrfs_root_node() or explicit rcu locking. This could lead to an extent buffer reference being leaked and another reference being freed too early when preemtion was enabled. Signed-off-by: Jan Schmidt -

[PATCH 3/3] Btrfs: fix unlock after free on rewinded tree blocks

2013-04-13 Thread Jan Schmidt
When tree_mod_log_rewind decides to make a copy of the current tree buffer for its modifications, it subsequently freed the buffer before unlocking it. Obviously, those operations are required in reverse order. Signed-off-by: Jan Schmidt --- fs/btrfs/ctree.c | 18 +++--- 1 files

[PATCH 0/3] Btrfs: patches for tree mod log for next rc

2013-04-13 Thread Jan Schmidt
e three patches applied, I've been running my tests for more than a day without any issues, while without, it takes only minutes to trigger a BUG_ON or WARN_ON. Jan Schmidt (3): Btrfs: fix tree mod log regression on root split operations Btrfs: fix accessing the root pointer in tree mod log fu

[PATCH 1/3] Btrfs: fix tree mod log regression on root split operations

2013-04-13 Thread Jan Schmidt
removes the erroneous logging of removal of all elements. Signed-off-by: Jan Schmidt --- fs/btrfs/ctree.c | 55 - 1 files changed, 29 insertions(+), 26 deletions(-) diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c index ca9d8f1..4439cb7 100644

Re: [PATCH 2/2] Btrfs: introduce noextiref mount option

2013-04-14 Thread Jan Schmidt
On Mon, April 15, 2013 at 04:58 (+0200), Miao Xie wrote: > On Fri, 12 Apr 2013 09:02:34 +0200, Jan Schmidt wrote: >>>>> +static int btrfs_close_extend_iref(struct btrfs_fs_info *fs_info, >>>>> +unsigned long old_opts) >>>&g

Re: [PATCH 1/2] Btrfs: rescan for qgroups

2013-04-14 Thread Jan Schmidt
On Wed, April 10, 2013 at 18:47 (+0200), David Sterba wrote: > On Fri, Apr 05, 2013 at 01:38:16PM +0200, Jan Schmidt wrote: >> +if (root->fs_info->qgroup_flags & BTRFS_QGROUP_STATUS_FLAG_RESCAN) { > > I was wondering if merging qgroup_flags with fs_state would make

Re: [PATCH 1/2] Btrfs: rescan for qgroups

2013-04-14 Thread Jan Schmidt
On Mon, April 15, 2013 at 07:44 (+0200), Jan Schmidt wrote: > Thanks, v2 to come. Uh, but not immediately. I didn't get tracking of "exclusive" right. That will need some time to fix and test. -Jan -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs&qu

Re: [PATCH 1/2] Btrfs: rescan for qgroups

2013-04-14 Thread Jan Schmidt
On Mon, April 15, 2013 at 08:08 (+0200), Wang Shilong wrote: > Hello Jan, > >> On Mon, April 15, 2013 at 07:44 (+0200), Jan Schmidt wrote: >>> Thanks, v2 to come. >> >> Uh, but not immediately. I didn't get tracking of "exclusive" right.

Re: [PATCH] Btrfs: return error when we specify wrong start

2013-04-16 Thread Jan Schmidt
On Tue, April 16, 2013 at 10:40 (+0200), Liu Bo wrote: > We need such a sanity check for wrong start, otherwise, even with > a wrong start that's larger than file size, we can end up not only > changing inode's force compress flag but also FS's incompat flags. That reads out very cryptic. Can you

[PATCH v2 0/3] Btrfs: quota rescan for 3.10

2013-04-16 Thread Jan Schmidt
UOTA_CTL_RESCAN - added missing (unsigned long long) casts for pr_debug - more detailed commit messages Jan Schmidt (3): Btrfs: split btrfs_qgroup_account_ref into four functions Btrfs: rescan for qgroups Btrfs: automatic rescan after "quota enable" command fs/btrfs/ctree.h

[PATCH v2 2/3] Btrfs: rescan for qgroups

2013-04-16 Thread Jan Schmidt
next mount. Status information is provided with a separate ioctl while a rescan operation is in progress. Signed-off-by: Jan Schmidt --- fs/btrfs/ctree.h | 17 ++- fs/btrfs/disk-io.c |6 + fs/btrfs/ioctl.c | 83 ++-- fs/btrfs/qgroup.c | 295

[PATCH v2 3/3] Btrfs: automatic rescan after "quota enable" command

2013-04-16 Thread Jan Schmidt
When qgroup tracking is enabled, we do an automatic cycle of the new rescan mechanism. Signed-off-by: Jan Schmidt --- fs/btrfs/qgroup.c | 10 ++ 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c index bb081b5..0ea2c3e 100644 --- a/fs

[PATCH v2 1/3] Btrfs: split btrfs_qgroup_account_ref into four functions

2013-04-16 Thread Jan Schmidt
The function is separated into a preparation part and the three accounting steps mentioned in the qgroups documentation. The goal is to make steps two and three usable by the rescan functionality. A side effect is that the function is restructured into readable subunits. Signed-off-by: Jan

Re: [PATCH v2 1/3] Btrfs: split btrfs_qgroup_account_ref into four functions

2013-04-16 Thread Jan Schmidt
On Tue, April 16, 2013 at 11:20 (+0200), Wang Shilong wrote: > Hello Jan, > >> The function is separated into a preparation part and the three accounting >> steps mentioned in the qgroups documentation. The goal is to make steps two >> and three usable by the rescan functionality. A side effect is

Re: [PATCH v2 2/3] Btrfs: rescan for qgroups

2013-04-16 Thread Jan Schmidt
hould not be used unless required. >> >> A filesystem under rescan can still be umounted. The rescan continues on the >> next mount. Status information is provided with a separate ioctl while a >> rescan operation is in progress. >> >> Signed-off-by: Jan Schmidt &

Re: [PATCH v2 2/3] Btrfs: rescan for qgroups

2013-04-16 Thread Jan Schmidt
On Tue, April 16, 2013 at 12:08 (+0200), Wang Shilong wrote: > Hello Jan, > > >> slot = path->slots[0]; >> ptr = btrfs_item_ptr(l, slot, struct btrfs_qgroup_status_item); >> +spin_lock(&fs_info->qgroup_lock); > > > Why we need hold qgroup_lock here? would you please explain... I

Re: [PATCH v2 2/3] Btrfs: rescan for qgroups

2013-04-17 Thread Jan Schmidt
On Tue, April 16, 2013 at 14:22 (+0200), Wang Shilong wrote: > > Hello Jan, more comments below.. > > [...snip..] > >> >> + >> +static long btrfs_ioctl_quota_rescan_status(struct file *file, void __user >> *arg) >> +{ >> +struct btrfs_root *root = BTRFS_I(fdentry(file)->d_inode)->root; >>

Re: [BUG REPORT] Kernel panic on 3.9.0-rc7-4-gbb33db7

2013-04-19 Thread Jan Schmidt
On Fri, April 19, 2013 at 07:57 (+0200), Tejun Heo wrote: > (cc'ing btrfs people) > > On Fri, Apr 19, 2013 at 11:33:20AM +0800, Wanlong Gao wrote: >> RIP: 0010:[] [] >> ftrace_raw_event_block_bio_complete+0x73/0xf0 > ... >> [] bio_endio+0x80/0x90 >> [] btrfs_end_bio+0xf6/0x190 [btrfs] >> [] b

[PATCH v3 3/3] Btrfs: automatic rescan after "quota enable" command

2013-04-23 Thread Jan Schmidt
When qgroup tracking is enabled, we do an automatic cycle of the new rescan mechanism. Signed-off-by: Jan Schmidt --- fs/btrfs/qgroup.c | 10 ++ 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c index 249dd64..b1ae0ab 100644 --- a/fs

[PATCH v3 1/3] Btrfs: split btrfs_qgroup_account_ref into four functions

2013-04-23 Thread Jan Schmidt
The function is separated into a preparation part and the three accounting steps mentioned in the qgroups documentation. The goal is to make steps two and three usable by the rescan functionality. A side effect is that the function is restructured into readable subunits. Signed-off-by: Jan

[PATCH v3 0/3] Btrfs: quota rescan for 3.10

2013-04-23 Thread Jan Schmidt
ght schedule - fix kzalloc error checking - add some reserved ints to struct btrfs_ioctl_quota_rescan_args - changed modification to unused #define BTRFS_QUOTA_CTL_RESCAN - added missing (unsigned long long) casts for pr_debug - more detailed commit messages Jan Schmidt (3): Btrfs: split btrfs_qg

[PATCH v3 2/3] Btrfs: rescan for qgroups

2013-04-23 Thread Jan Schmidt
next mount. Status information is provided with a separate ioctl while a rescan operation is in progress. Signed-off-by: Jan Schmidt --- fs/btrfs/ctree.h | 17 ++- fs/btrfs/disk-io.c |5 + fs/btrfs/ioctl.c | 83 ++-- fs/btrfs/qgroup.c | 312

Re: [PATCH v3 2/3] Btrfs: rescan for qgroups

2013-04-23 Thread Jan Schmidt
On Tue, April 23, 2013 at 14:05 (+0200), Wang Shilong wrote: > Hello Jan, > > [..snip..] > > > >> /* >> * the delayed ref sequence number we pass depends on the direction of >> * the operation. for add operations, we pass (node->seq - 1) to skip >> @@ -1401,7 +1428,17 @@ int bt

Re: [PATCH v3 3/3] Btrfs: automatic rescan after "quota enable" command

2013-04-23 Thread Jan Schmidt
On Tue, April 23, 2013 at 17:36 (+0200), David Sterba wrote: > On Tue, Apr 23, 2013 at 01:26:51PM +0200, Jan Schmidt wrote: >> --- a/fs/btrfs/qgroup.c >> +++ b/fs/btrfs/qgroup.c >> @@ -1494,10 +1494,14 @@ int btrfs_run_qgroups(struct btrfs_trans_handle >> *trans, >

Re: [PATCH v3 2/3] Btrfs: rescan for qgroups

2013-04-23 Thread Jan Schmidt
On Tue, April 23, 2013 at 16:54 (+0200), Wang Shilong wrote: > > Hello Jan, > >> >> +static void btrfs_qgroup_rescan_worker(struct btrfs_work *work) >> +{ >> +struct qgroup_rescan *qscan = container_of(work, struct qgroup_rescan, >> + work); >>

[PATCH] Btrfs: separate sequence numbers for delayed ref tracking and tree mod log

2013-04-23 Thread Jan Schmidt
occasionally go wrong and WARN_ONs from the tree mod log code may happen. Signed-off-by: Jan Schmidt --- fs/btrfs/ctree.c | 36 +--- fs/btrfs/ctree.h |7 ++- fs/btrfs/delayed-ref.c |6 -- fs/btrfs/disk-io.c |2 +- fs/b

Re: [PATCH] Btrfs: separate sequence numbers for delayed ref tracking and tree mod log

2013-04-24 Thread Jan Schmidt
On Wed, April 24, 2013 at 10:12 (+0200), Liu Bo wrote: > On Tue, Apr 23, 2013 at 08:00:27PM +0200, Jan Schmidt wrote: >> Sequence numbers for delayed refs have been introduced in the first version >> of the qgroup patch set. To solve the problem of find_all_roots on a busy >>

Re: [PATCH] Btrfs: separate sequence numbers for delayed ref tracking and tree mod log

2013-04-24 Thread Jan Schmidt
On Wed, April 24, 2013 at 15:04 (+0200), Josef Bacik wrote: > On Tue, Apr 23, 2013 at 12:00:27PM -0600, Jan Schmidt wrote: >> Sequence numbers for delayed refs have been introduced in the first version >> of the qgroup patch set. To solve the problem of find_all_roots on a busy >

Re: [PATCH] Btrfs: separate sequence numbers for delayed ref tracking and tree mod log

2013-04-24 Thread Jan Schmidt
On Wed, April 24, 2013 at 15:40 (+0200), Josef Bacik wrote: > On Wed, Apr 24, 2013 at 07:25:09AM -0600, Jan Schmidt wrote: >> On Wed, April 24, 2013 at 15:04 (+0200), Josef Bacik wrote: >>> On Tue, Apr 23, 2013 at 12:00:27PM -0600, Jan Schmidt wrote: >>>> Sequence

Re: [PATCH v3 2/3] Btrfs: rescan for qgroups

2013-04-24 Thread Jan Schmidt
On Wed, April 24, 2013 at 13:00 (+0200), Wang Shilong wrote: > Hello Jan, > > [snip] > >> +/* >> + * returns < 0 on error, 0 when more leafs are to be scanned. >> + * returns 1 when done, 2 when done and FLAG_INCONSISTENT was cleared. >> + */ >> +static int >> +qgroup_rescan_leaf(struct qgroup_re

[PATCH v2] Btrfs: separate sequence numbers for delayed ref tracking and tree mod log

2013-04-24 Thread Jan Schmidt
cking can occasionally go wrong and WARN_ONs from the tree mod log code may happen. Signed-off-by: Jan Schmidt --- Changes v1->v2: - added spin lock and comment around btrfs_inc_tree_mod_seq_minor (to make Josef happy in case I get "hit by a bus and somebody tries to change it later&

Re: [PATCH v3 2/3] Btrfs: rescan for qgroups

2013-04-25 Thread Jan Schmidt
On Thu, April 25, 2013 at 04:16 (+0200), Wang Shilong wrote: > I just have an example in my mind, considering the following example: > > qgroup(1/1) > / \ >/\ > subv(257) snapsho

[PATCH v4 0/3] Btrfs: quota rescan for 3.10

2013-04-25 Thread Jan Schmidt
ioctl_quota_rescan_args - changed modification to unused #define BTRFS_QUOTA_CTL_RESCAN - added missing (unsigned long long) casts for pr_debug - more detailed commit messages Jan Schmidt (3): Btrfs: split btrfs_qgroup_account_ref into four functions Btrfs: rescan for qgroups Btrfs: automat

[PATCH v4 1/3] Btrfs: split btrfs_qgroup_account_ref into four functions

2013-04-25 Thread Jan Schmidt
The function is separated into a preparation part and the three accounting steps mentioned in the qgroups documentation. The goal is to make steps two and three usable by the rescan functionality. A side effect is that the function is restructured into readable subunits. Signed-off-by: Jan

[PATCH v4 3/3] Btrfs: automatic rescan after "quota enable" command

2013-04-25 Thread Jan Schmidt
When qgroup tracking is enabled, we do an automatic cycle of the new rescan mechanism. Signed-off-by: Jan Schmidt --- fs/btrfs/qgroup.c | 11 +++ 1 files changed, 11 insertions(+), 0 deletions(-) diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c index 664d457..1df4db5 100644 --- a

[PATCH v4 2/3] Btrfs: rescan for qgroups

2013-04-25 Thread Jan Schmidt
next mount. Status information is provided with a separate ioctl while a rescan operation is in progress. Signed-off-by: Jan Schmidt --- fs/btrfs/ctree.h | 17 ++- fs/btrfs/disk-io.c |5 + fs/btrfs/ioctl.c | 83 ++-- fs/btrfs/qgroup.c | 318

Re: [PATCH] xfstests: btrfs/276 - stop all fsstress before exiting

2013-04-26 Thread Jan Schmidt
On Fri, April 26, 2013 at 07:29 (+0200), Eric Sandeen wrote: > Tests after 276 were failing because the background fsstress > hadn't quit prior to exit, devices couldn't be unmounted, etc. I don't see how that would happen. Any further insight? > Just use the same trick as generic/068 does, and u

[BUG] crash after failed mount of btrfs-image

2013-04-29 Thread Jan Schmidt
Hi Josef, tried your btrfs-image tool (which didn't work for me but that's not that important). # ~/btrfs-image /dev/sdt1 /var/tmp/janosch.btrfsimage # mount -o loop /var/tmp/janosch.btrfsimage /mnt/test mount: you must specify the filesystem type Doesn't mount, okay. Use -r: # ~/btrfs-image -r

Re: [PATCH v4 2/3] Btrfs: rescan for qgroups

2013-05-01 Thread Jan Schmidt
be used unless required. >> >> A filesystem under rescan can still be umounted. The rescan continues on the >> next mount. Status information is provided with a separate ioctl while a >> rescan operation is in progress. >> >> Signed-off-by: Jan Schmidt >>

Re: [PATCH v4 2/3] Btrfs: rescan for qgroups

2013-05-01 Thread Jan Schmidt
t;> the >>>> next mount. Status information is provided with a separate ioctl while a >>>> rescan operation is in progress. >>>> >>>> Signed-off-by: Jan Schmidt >>>> --- >>>> fs/btrfs/ctree.h | 17 ++- >>>> fs/btr

Re: [PATCH] Btrfs: use arg gfp_mask to decide how to allocate tree mod

2013-05-05 Thread Jan Schmidt
On Sun, May 05, 2013 at 15:58 (+0200), Wang Shilong wrote: > It seems the original code doesn't pass the right arg gfp_t to decide how to > allocate. > Just applying this patch, fsstress will fail. So please ignore this patch, > will resend later.. That's in fact what the comment above the line

Re: Possible to dedpulicate read-only snapshots for space-efficient backups

2013-05-05 Thread Jan Schmidt
On Sun, May 05, 2013 at 12:07 (+0200), Kai Krakow wrote: > I'm using an bash/rsync script[1] to backup my whole system on a nightly > basis to an attached USB3 drive into a scratch area, then take a snapshot of > this area. I'd like to have these snapshots immutable, so they should be > read-onl

Re: hard freezes with 3.9.0 during io-intensive loads

2013-05-06 Thread Jan Schmidt
On Sun, May 05, 2013 at 18:10 (+0200), Kai Krakow wrote: > Hello list, > > Kai Krakow schrieb: > >> I've upgraded to 3.9.0 mainly for the snapshot-aware defragging patches. >> I'm running bedup[1] on a regular basis and it is now the third time that >> I got back to my PC just to find it hard-fr

Btrfs: wait for quota rescan to complete

2013-05-06 Thread Jan Schmidt
Two small patches, one for the kernel and one for the user mode. Both required to support waiting for quota rescan to complete. Jan Schmidt (1): Btrfs: add ioctl to wait for qgroup rescan completion fs/btrfs/ctree.h |2 ++ fs/btrfs/ioctl.c | 12 fs/btrfs

[PATCH 2/2] Btrfs-progs: added "btrfs quota rescan" -w switch (wait)

2013-05-06 Thread Jan Schmidt
With -w one can wait for a rescan operation to finish. It can be used when starting a rescan operation or later to wait for the currently running rescan operation to finish. Waiting is interruptible. Signed-off-by: Jan Schmidt --- cmds-quota.c | 19 +-- ioctl.h |1

[PATCH 1/2] Btrfs-progs: fixup: add flags to struct btrfs_ioctl_quota_rescan_args

2013-05-06 Thread Jan Schmidt
The patch set previously sent was sent together with the kernel part, but was not updated as I added some reserved bytes to the ioctl struct for future compatibility. This fixes struct btrfs_ioctl_quota_rescan_args. Signed-off-by: Jan Schmidt --- ioctl.h |1 + 1 files changed, 1 insertions

[PATCH] Btrfs: add ioctl to wait for qgroup rescan completion

2013-05-06 Thread Jan Schmidt
btrfs_qgroup_wait_for_completion waits until the currently running qgroup operation completes. It returns immediately when no rescan process is in progress. This is useful to automate things around the rescan process (e.g. testing). Signed-off-by: Jan Schmidt --- fs/btrfs/ctree.h

Re: hard freezes with 3.9.0 during io-intensive loads

2013-05-06 Thread Jan Schmidt
On Mon, May 06, 2013 at 22:29 (+0200), Kai Krakow wrote: > Jan Schmidt schrieb: > >> That one should be fixed in btrfs-next. If you can reliably reproduce the >> bug I'd be glad to get a confirmation - you can probably even save putting >> it on bugzilla then ;-) >

Re: [PATCH] Btrfs: add ioctl to wait for qgroup rescan completion

2013-05-06 Thread Jan Schmidt
On Mon, May 06, 2013 at 23:20 (+0200), David Sterba wrote: > On Mon, May 06, 2013 at 09:14:17PM +0200, Jan Schmidt wrote: >> --- a/include/uapi/linux/btrfs.h >> +++ b/include/uapi/linux/btrfs.h >> @@ -530,6 +530,7 @@ struct btrfs_ioctl_send_args { >>

Re: [PATCH] Btrfs: save us a mutex_lock usage when doing quota rescan

2013-05-07 Thread Jan Schmidt
essary. > > Just remove this check, so that we don't need hold qgroup_rescan_lock > when doing qgroup accounting. NAK. After a discussion on that lock the last thing in this thread I see is ... On Wed, May 01, 2013 at 13:57 (+0200), Jan Schmidt wrote: > Now I see what you mean.

Re: [PATCH] Btrfs: fix passing wrong arg gfp_t to decide the correct allocation mode

2013-05-07 Thread Jan Schmidt
On Tue, May 07, 2013 at 08:20 (+0200), Wang Shilong wrote: > If you look the code carefully, you will see all the tree_mod_alloc() > has to use GFP_ATOMIC. However, the original code pass the wrong arg > gfp_t in some places, this dosen't cause any problems, because in the > tree_mod_alloc(), it ig

Re: Kernel BUG: __tree_mod_log_rewind

2013-05-07 Thread Jan Schmidt
r apply the commits mentioned in my previous email today: On Tue, May 07, 2013 at 08:08 (+0200), Jan Schmidt wrote: > In git log order: > > 6ced2666 Btrfs: separate sequence numbers for delayed ref tracking and tree > mod log > ef9120b1 Btrfs: fix tree mod log regression on root split o

Re: hard freezes with 3.9.0 during io-intensive loads

2013-05-08 Thread Jan Schmidt
On Wed, May 08, 2013 at 02:24 (+0200), Kai Krakow wrote: > Kai Krakow schrieb: > I can reliably reproduce it from two different approaches. I'd like to only apply the commits fixing it. Can you name them here? >>> >>> In git log order: >>> >>> 6ced2666 Btrfs: separate sequence numbers f

Re: hard freezes with 3.9.0 during io-intensive loads

2013-05-10 Thread Jan Schmidt
On Fri, May 10, 2013 at 01:30 (+0200), Kai Krakow wrote: > Jan Schmidt schrieb: > >>> Apparently, it's not fixed. The system does not freeze now but it threw >>> multiple backtraces right in front of my Xorg session. The backtraces >>> look a littl

Re: hard freezes with 3.9.0 during io-intensive loads

2013-05-17 Thread Jan Schmidt
On Thu, May 16, 2013 at 09:19 (+0200), Kai Krakow wrote: > 3.9.2 still does not fix anything. I'll go with autodefrag=off for the > moment until I hear some news in that regard. With this new information, is > it still helpful to get a metadata image from me? It should be reproducable > if you e

[PATCH 0/3] Btrfs: qgroup rescan fixes for next rc

2013-05-28 Thread Jan Schmidt
code change that need not be split artifically in my opinion. Jan Schmidt (3): Btrfs: fix memory patcher through fs_info->qgroup_ulist Btrfs: avoid double free of fs_info->qgroup_ulist Btrfs: fix qgroup rescan resume on mount fs/btrfs/ctree.h |2 + fs/btrfs/disk-io.c |2

[PATCH 1/3] Btrfs: fix memory patcher through fs_info->qgroup_ulist

2013-05-28 Thread Jan Schmidt
e a check for (ret < 0) would have been the right choice. This commit fixes the check. Cc: Wang Shilong Signed-off-by: Jan Schmidt --- fs/btrfs/qgroup.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c index d059d86..74b432d 100644 --

[PATCH 3/3] Btrfs: fix qgroup rescan resume on mount

2013-05-28 Thread Jan Schmidt
the rescan progress during btrfs_qgroup_account_ref, which is no longer required due to having step 2 from the list above. As a side effect, this commit prepares to move the rescan start code from btrfs_run_qgroups (which is run during commit) to a less time critical section. Signed-off-by: J

[PATCH 2/3] Btrfs: avoid double free of fs_info->qgroup_ulist

2013-05-28 Thread Jan Schmidt
ed error paths, turning the ulist_free in btrfs_free_qgroup_config into a noop. Cc: Wang Shilong Signed-off-by: Jan Schmidt --- fs/btrfs/qgroup.c |8 ++-- 1 files changed, 6 insertions(+), 2 deletions(-) diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c index 74b432d..c6ce642 100644

Re: [PATCH 0/3] Btrfs: qgroup rescan fixes for next rc

2013-05-28 Thread Jan Schmidt
Hi Wang, Please have a look at these patches, you should have been CCed but I just realized git send-email doesn't care about Cc lines in the patch file. Sigh. Thanks, -Jan -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.

[PATCH] xfstests btrfs/314: test send / receive

2013-06-06 Thread Jan Schmidt
Basic send / receive functionality test for btrfs. Requires current version of fsstress built (-x support). Relies on fssum tool, which is not part of the test suite but can skip the test if it is missing. Signed-off-by: Jan Schmidt --- README |3 + common/config |2

Re: [PATCH] xfstests btrfs/314: test send / receive

2013-06-07 Thread Jan Schmidt
(cc Arne for far-progs discussion) On Thu, June 06, 2013 at 19:54 (+0200), Eric Sandeen wrote: > On 6/6/13 10:20 AM, Jan Schmidt wrote: >> Basic send / receive functionality test for btrfs. Requires current >> version of fsstress built (-x support). Relies on fssum tool, which is

Re: [PATCH] xfstests btrfs/314: test send / receive

2013-06-07 Thread Jan Schmidt
On Fri, June 07, 2013 at 16:51 (+0200), Arne Jansen wrote: > On 07.06.2013 16:50, Eric Sandeen wrote: >> On 6/7/13 5:29 AM, Dave Chinner wrote: >>> On Fri, Jun 07, 2013 at 09:18:58AM +0200, Jan Schmidt wrote: >>>> (cc Arne for far-progs discussion) >>>>

Re: [PATCH 0/3] Btrfs: qgroup rescan fixes for next rc

2013-06-10 Thread Jan Schmidt
Hi Chris, I know, Linus is turning grumpy again. I'd still feel better if we sent this patch set for the very next rc now. Any particular objections? -Jan On Tue, May 28, 2013 at 17:47 (+0200), Jan Schmidt wrote: > Here are three fixes for the new qgroup rescan feature. The first t

Re: [PATCH] Btrfs: hold the tree mod lock in __tree_mod_log_rewind

2013-06-30 Thread Jan Schmidt
On 30.06.2013 05:17, Josef Bacik wrote: > We need to hold the tree mod log lock in __tree_mod_log_rewind since we walk > forward in the tree mod entries, otherwise we'll end up with random entries > and > trip the BUG_ON() at the front of __tree_mod_log_rewind. This fixes the > panics > people w

Re: [PATCH] Btrfs: hold the tree mod lock in __tree_mod_log_rewind

2013-07-02 Thread Jan Schmidt
On Sun, June 30, 2013 at 15:55 (+0200), Josef Bacik wrote: > On Sun, Jun 30, 2013 at 10:25:05AM +0200, Jan Schmidt wrote: >> On 30.06.2013 05:17, Josef Bacik wrote: >>> We need to hold the tree mod log lock in __tree_mod_log_rewind since we walk >>> forward in the tree m

Re: [PATCH] Btrfs: stop using GFP_ATOMIC for the tree mod log allocations

2013-07-02 Thread Jan Schmidt
On Mon, July 01, 2013 at 22:25 (+0200), Josef Bacik wrote: > Previously we held the tree mod lock when adding stuff because we use it to > check and see if we truly do want to track tree modifications. This is > admirable, but GFP_ATOMIC in a critical area that is going to get hit pretty > hard an

Re: [PATCH] Btrfs: only do the tree_mod_log_free_eb if this is our last ref

2013-07-02 Thread Jan Schmidt
block. With this > patch > I no longer hit the panic in __tree_mod_log_rewind. Thanks, > > Signed-off-by: Josef Bacik Strange that never really popped up largely so far, should be quite easy to hit. Anyway, Reviewed-by: Jan Schmidt > --- > fs/btrfs/ctree.c |3 ++- >

Re: [PATCH] Btrfs: fix extent buffer leak after backref walking

2013-07-03 Thread Jan Schmidt
and end up with extent buffer leak. > > Signed-off-by: Liu Bo Reviewed-by: Jan Schmidt > --- > fs/btrfs/ctree.c |2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c > index 02fae7f..3d790b4 100644 > --- a

[PATCH v2 1/2] xfstests: add fssum tool

2013-07-24 Thread Jan Schmidt
sum will just be skipped if fssum wasn't built. Signed-off-by: Jan Schmidt --- .gitignore|1 + common/config |2 + src/Makefile | 11 +- src/fssum.c | 819 + 4 files changed, 832 insertions(+), 1 deletions(-) cre

[PATCH v2 0/2] xfstest btrfs/316: test send / receive (was: btrfs/314)

2013-07-24 Thread Jan Schmidt
n the far-progs repository where fssum.c comes from as well. Jan Schmidt (2): xfstests: add fssum tool xfstests btrfs/316: test send / receive .gitignore |1 + README |3 + common/config |2 + src/Makefile| 11 +- src/fssum.c

[PATCH v2 2/2] xfstests btrfs/316: test send / receive

2013-07-24 Thread Jan Schmidt
Basic send / receive functionality test for btrfs. Requires current version of fsstress built (-x support). Relies on fssum tool but can skip the test if it failed to build. Signed-off-by: Jan Schmidt --- README |3 + tests/btrfs/316 | 113

Re: Fwd: Cloning a Btrfs partition

2013-07-29 Thread Jan Schmidt
Hi BJ, [original message rewrapped] On Thu, July 25, 2013 at 18:32 (+0200), BJ Quinn wrote: > (Apologies for the double post -- forgot to send as plain text the first time > around, so the list rejected it.) > > I see that there's now a btrfs send / receive and I've tried using it, but > I'm get

Re: [PATCH v3] Btrfs: fix crash regarding to ulist_add_merge

2013-07-29 Thread Jan Schmidt
rbtree_insert(ulist, &ulist->nodes[i]); > + if (ret < 0) > + return ret; > + } > } > ulist->nodes[ulist->nnodes].val = val; > ulist->nodes[ulist->nnodes].aux = aux; > R

Re: Cloning a Btrfs partition

2013-07-30 Thread Jan Schmidt
3.11 and if I got Liu Bo right he's going to send it to 3.10 stable soon. Thanks, -Jan > Thanks! > > -BJ > > - Original Message - > > From: "Jan Schmidt" > Sent: Monday, July 29, 2013 3:21:51 AM > > Hi BJ, > > [original message

  1   2   3   4   5   6   >