[PATCH 1/3] Btrfs-progs, btrfs-map-logical: Fix typo in usage

2012-02-22 Thread Miao Xie
The right option is 'o' not 'c'. And this tool is used for the block devices on which there is a btrfs file system, so change mount_point to device. Signed-off-by: Miao Xie mi...@cn.fujitsu.com --- btrfs-map-logical.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git

[PATCH 2/3] Btrfs-progs, btrfs-corrupt-block: fix the wrong usage

2012-02-22 Thread Miao Xie
The old usage is a copy of btrfs-map-logical, it's wrong, fix it. Signed-off-by: Miao Xie mi...@cn.fujitsu.com --- This patch is against dangerdonteveruse branch. --- btrfs-corrupt-block.c | 14 -- 1 files changed, 8 insertions(+), 6 deletions(-) diff --git a/btrfs-corrupt-block.c

[PATCH 3/3] Btrfs-progs: fix btrfsck's snapshot wrong unresolved refs

2012-02-22 Thread Miao Xie
If the fs/file tree is not the parent of the snapshot, it is reasonable that we can not find the relative reference and back reference. But btrfsck doesn't consider this case, and reports unresolved refs message, it's wrong, fix it. Signed-off-by: Miao Xie mi...@cn.fujitsu.com --- btrfsck.c

Re: Deadlock while mounting with current for-linus

2012-02-21 Thread Miao Xie
Hi, Jan Schmidt On tue, 21 Feb 2012 08:56:29 +0100, Jan Schmidt wrote: the current for-linus head as of today (d98456fc) gets stuck in a deadlock when executing xfstest 083. This is the corresponding output, preceeded by a related lockdep warning: Feb 21 08:30:52 oglaroon kernel:

[RFC][PATCH] Btrfs: introduce extent buffer cache for each i-node

2012-02-16 Thread Miao Xie
will cleanup it in the next version. Signed-off-by: Miao Xie mi...@cn.fujitsu.com --- fs/btrfs/btrfs_inode.h |3 + fs/btrfs/ctree.c | 358 ++-- fs/btrfs/ctree.h | 41 +- fs/btrfs/dir-item.c| 28 +++-- fs/btrfs/extent_io.c |2

[PATCH] Btrfs: fix deadlock on page lock when doing auto-defragment

2012-02-15 Thread Miao Xie
so deadlock happens. Fix this bug by unlocking the page which is in writeback, and re-locking it after the writeback end. Signed-off-by: Miao Xie m...@cn.fujitsu.com --- fs/btrfs/ioctl.c | 53 + 1 files changed, 29 insertions(+), 24 deletions

Re: [RFC][PATCH 1/2] Btrfs: try to allocate new chunks with degenerated profile

2012-01-18 Thread Miao Xie
On wed, 18 Jan 2012 11:12:20 +0100, Jan Schmidt wrote: On 17.01.2012 21:58, Chris Mason wrote: These two didn't make my first pull request just because I wanted to get something out the door. I'll definitely have them in the next pull. Please, don't do that! You can't just degenerate

[PATCH] Btrfs: fix enospc error caused by wrong checks of the chunk allocation

2012-01-17 Thread Miao Xie
the passed value. Signed-off-by: Miao Xie mi...@cn.fujitsu.com --- This patch is based on the new viro branch. --- fs/btrfs/extent-tree.c | 49 ++- 1 files changed, 27 insertions(+), 22 deletions(-) diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent

[RFC][PATCH 1/2] Btrfs: try to allocate new chunks with degenerated profile

2012-01-17 Thread Miao Xie
: RAID10 - RAID1 - DUP RAID0 - SINGLE Signed-off-by: Miao Xie mi...@cn.fujitsu.com --- fs/btrfs/extent-tree.c | 43 +-- 1 files changed, 41 insertions(+), 2 deletions(-) diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c index 3e68e2b..87cd611

[RFC][PATCH 2/2] Btrfs: change the calculation of available space since the data profile can be degenerated

2012-01-17 Thread Miao Xie
to allocate a DUP chunk, the other space will be considered as the available space, and be count. Signed-off-by: Miao Xie mi...@cn.fujitsu.com --- fs/btrfs/super.c | 105 +++-- 1 files changed, 22 insertions(+), 83 deletions(-) diff --git a/fs/btrfs

[PATCH V2 1/3] Btrfs: fix btrfsck error 400 when truncating a compressed file extent

2012-01-09 Thread Miao Xie
-by: Miao Xie mi...@cn.fujitsu.com --- Changes v1 - v2: - None. --- fs/btrfs/inode.c |8 +--- 1 files changed, 1 insertions(+), 7 deletions(-) diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 13b0542..85e2312 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -3009,7 +3009,6 @@ int

[PATCH V2 2/3] Btrfs: make btrfs_truncate_inode_items() more readable

2012-01-09 Thread Miao Xie
As the title said, this patch just make the functions of the truncation more readable. Signed-off-by: Miao Xie mi...@cn.fujitsu.com --- Changes v1 - v2: - move return sentence out of if...else..., make the logic of the code more clear. --- fs/btrfs/inode.c | 292

[PATCH V2 3/3] Btrfs: improve truncation of btrfs

2012-01-09 Thread Miao Xie
the expected size, the real size, because the user may take it for granted that the data in that extent is not lost. In order to implement it, we just write out all the dirty pages which are beyond the expected size of the file. Signed-off-by: Miao Xie mi...@cn.fujitsu.com --- Changes v1 - v2: - None

Re: [RFC][PATCH 3/3] Btrfs: improve truncation of btrfs

2012-01-08 Thread Miao Xie
On Fri, 6 Jan 2012 09:50:31 -0500, Josef Bacik wrote: On Fri, Jan 06, 2012 at 11:51:16AM +0800, Miao Xie wrote: On thu, 5 Jan 2012 10:15:50 -0500, Josef Bacik wrote: + trans = btrfs_start_transaction(root, 2); + if (IS_ERR(trans)) + return PTR_ERR(trans); /* * setattr

[PATCH 1/3] Btrfs: fix btrfsck error 400 when truncating a compressed file extent

2012-01-05 Thread Miao Xie
the bytes of the dropped range from i_blocks/i_bytes of i-node or not. When we truncate a compressed extent, btrfs substracts the bytes of the whole extent, it's wrong. We should substract the real size that we truncate, no matter it is a compressed extent or not. Fix it. Signed-off-by: Miao Xie mi

[PATCH 2/3] Btrfs: make btrfs_truncate_inode_items() more readable

2012-01-05 Thread Miao Xie
As the title said, this patch just make the functions of the truncation more readable. Signed-off-by: Miao Xie mi...@cn.fujitsu.com --- fs/btrfs/inode.c | 289 ++ 1 files changed, 159 insertions(+), 130 deletions(-) diff --git a/fs/btrfs

[RFC][PATCH 3/3] Btrfs: improve truncation of btrfs

2012-01-05 Thread Miao Xie
. It is also the only disadvantage of this patch. (Maybe I'm overcautious, we needn't hold that data.) Signed-off-by: Miao Xie mi...@cn.fujitsu.com --- fs/btrfs/inode.c | 159 +- 1 files changed, 49 insertions(+), 110 deletions(-) diff --git a/fs

Re: [PATCH 2/3] Btrfs: make btrfs_truncate_inode_items() more readable

2012-01-05 Thread Miao Xie
On thu, 5 Jan 2012 10:11:43 -0500, Josef Bacik wrote: +extent_start = btrfs_file_extent_disk_bytenr(leaf, fi); +if (offset new_size) { +/* + * If the new size is in the extent: + * +--+ + * |

Re: [RFC][PATCH 3/3] Btrfs: improve truncation of btrfs

2012-01-05 Thread Miao Xie
On thu, 5 Jan 2012 10:15:50 -0500, Josef Bacik wrote: +trans = btrfs_start_transaction(root, 2); +if (IS_ERR(trans)) +return PTR_ERR(trans); /* * setattr is responsible for setting the ordered_data_close flag, @@ -6621,26 +6585,12 @@ static int

[PATCH V2 2/2] Btrfs: fix wrong i_size when truncating a file to a larger size

2011-12-15 Thread Miao Xie
there is no enough space in the file system, so we found a wrong i_size. This patch fixes this bug by updating the i_size just when we pass the file expanding. Signed-off-by: Miao Xie mi...@cn.fujitsu.com --- Changes v1 - v2: - make i_size be accurate before truncate_pagecache() is called (use

Re: [PATCH] Btrfs: don't panic if orphan item already exists

2011-12-14 Thread Miao Xie
On wed, 14 Dec 2011 10:07:39 +0800, WuBo wrote: On 12/14/2011 03:09 AM, Josef Bacik wrote: On Tue, Dec 13, 2011 at 02:03:14PM -0500, Phillip Susi wrote: On 12/13/2011 12:55 PM, Josef Bacik wrote: I've been hitting this BUG_ON() in btrfs_orphan_add when running xfstest 269 in a loop.

Re: [PATCH] Btrfs: don't panic if orphan item already exists

2011-12-14 Thread Miao Xie
On wed, 14 Dec 2011 10:34:45 -0500, Josef Bacik wrote: On Wed, Dec 14, 2011 at 10:14:13AM -0500, Phillip Susi wrote: On 12/14/2011 9:58 AM, Josef Bacik wrote: There is no underlying bug, there is a shitty situation, the shitty situation Maybe my assumptions are wrong somewhere then.

Re: [PATCH 2/2] Btrfs: fix wrong i_size when truncating a file to a larger size

2011-12-14 Thread Miao Xie
On Wed, 14 Dec 2011 11:51:47 -0500, Chris Mason wrote: On Wed, Dec 14, 2011 at 03:15:53PM +0800, Miao Xie wrote: Btrfsck report error 100 after the 83th case of xfstests was run, it means the i_size of the file is wrong. The reason of this bug is that: Btrfs increased i_size of the file

[PATCH 1/2] Btrfs: fix wrong disk space information of the files

2011-12-13 Thread Miao Xie
are beyond the end of the files. When we want to expand those files, we will drop those file extents, and put in dummy file extents, and then we should update the i-node. But btrfs forgets to do it. This patch adds the forgotten i-node update. Signed-off-by: Miao Xie mi...@cn.fujitsu.com --- fs/btrfs

[PATCH 2/2] Btrfs: fix wrong i_size when truncating a file to a larger size

2011-12-13 Thread Miao Xie
there is no enough space in the file system, so we found a wrong i_size. This patch fixes this bug by updating the i_size just when we pass the file expanding and get enough space to update i-node. Signed-off-by: Miao Xie mi...@cn.fujitsu.com --- fs/btrfs/inode.c | 18 -- 1 files changed, 12

[PATCH] xfstests: open btrfsck to check the btrfs filesystem

2011-12-13 Thread Miao Xie
. Signed-off-by: Miao Xie mi...@cn.fujitsu.com --- common.rc | 54 ++ 1 files changed, 54 insertions(+), 0 deletions(-) diff --git a/common.rc b/common.rc index cab0b64..b42e46d 100644 --- a/common.rc +++ b/common.rc @@ -1299,6 +1299,54

[PATCH RESEND] Btrfs: fix inaccurate available space on raid0 profile

2011-12-13 Thread Miao Xie
. Signed-off-by: Miao Xie mi...@cn.fujitsu.com --- fs/btrfs/super.c | 19 +-- 1 files changed, 13 insertions(+), 6 deletions(-) diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c index 8bd9d6d..01de53a 100644 --- a/fs/btrfs/super.c +++ b/fs/btrfs/super.c @@ -1079,7 +1079,7

Re: [PATCH 2/2] Btrfs: fix deadlock on sb-s_umount when doing umount

2011-12-06 Thread Miao Xie
On tue, 6 Dec 2011 04:59:23 -0500, Christoph Hellwig wrote: On Tue, Dec 06, 2011 at 01:35:47PM +0800, Miao Xie wrote: The reason the deadlock is that: Task Btrfs-cleaner umount() down_write(s-s_umount) close_ctree() wait for the end

Re: [PATCH 2/2] Btrfs: fix deadlock on sb-s_umount when doing umount

2011-12-06 Thread Miao Xie
On tue, 6 Dec 2011 16:36:11 -0500, Chris Mason wrote: On Tue, Dec 06, 2011 at 06:23:23AM -0500, Christoph Hellwig wrote: On Tue, Dec 06, 2011 at 07:06:40PM +0800, Miao Xie wrote: I can't see why you need the writeout when the trylocks fails. Umount needs to take care of writing out all

Re: [GIT PULL] Btrfs updates

2011-12-05 Thread Miao Xie
: handle -ENOMEM from init_ipath() Mike Fleetwood (1) commits (+1/-1): Btrfs: Don't error on resizing FS to same size Miao Xie (1) commits (+22/-5): Btrfs: fix deadlock on metadata reservation when evicting a inode Total: (11) commits (+60/-25) Documentation/filesystems/btrfs.txt

Re: BUG at fs/btrfs/inode.c:841!

2011-12-05 Thread Miao Xie
On mon, 05 Dec 2011 14:49:16 +0100, Jan Schmidt wrote: While running xfstest 013 with Chris' for-linus on an ssd I hit this the following bug. Before, the system was freshly bootet and all I did was insmod and starting ./check in the xfstests directory. I cannot reproduce it so far: Dec 5

Re: [GIT PULL] Btrfs updates

2011-12-05 Thread Miao Xie
On Mon, 5 Dec 2011 08:14:13 -0500, Chris Mason wrote: On Mon, Dec 05, 2011 at 04:10:49PM +0800, Miao Xie wrote: Hi, Chris and Oliva On thu, 1 Dec 2011 10:39:55 -0500, Chris Mason wrote: git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs.git for-linus Has our current set

[PATCH 1/2] vfs: make writeback_in_progress() inline

2011-12-05 Thread Miao Xie
writeback_in_progress() is very simple, and we will use writeback_in_progress() in the module, so make it inline. Signed-off-by: Miao Xie mi...@cn.fujitsu.com --- fs/fs-writeback.c | 12 include/linux/backing-dev.h | 12 +++- 2 files changed, 11 insertions

[PATCH 2/2] Btrfs: fix deadlock on sb-s_umount when doing umount

2011-12-05 Thread Miao Xie
fails, it means the fs is on remounting or umounting. At this time, we will use the sync function of btrfs to sync all the delalloc file. It may waste lots of time, but as a corner case, we needn't care. Reported-by: Tsutomu Itoh t-i...@jp.fujitsu.com Signed-off-by: Miao Xie mi...@cn.fujitsu.com

Re: [PATCH 1/2] vfs: make writeback_in_progress() inline

2011-12-05 Thread Miao Xie
cc Fengguang cc Linux-kernel On tue, 06 Dec 2011 13:35:45 +0800, Miao Xie wrote: writeback_in_progress() is very simple, and we will use writeback_in_progress() in the module, so make it inline. Signed-off-by: Miao Xie mi...@cn.fujitsu.com --- fs/fs-writeback.c | 12

Re: [PATCH 2/2] Btrfs: fix deadlock on sb-s_umount when doing umount

2011-12-05 Thread Miao Xie
On tue, 6 Dec 2011 05:49:06 +, Al Viro wrote: +void btrfs_writeback_inodes_sb_nr(struct btrfs_root *root, + unsigned long nr_pages) +{ +struct super_block *sb = root-fs_info-sb; + +if (writeback_in_progress(sb-s_bdi)) +return; + +

Re: [PATCH 1/1] btrfs: btrfs_calc_avail_data_space cope with no read/write devices V2

2011-11-28 Thread Miao Xie
On mon, 28 Nov 2011 06:11:06 -0600, Jonathan Nieder wrote: Hi, Andy Whitcroft wrote: When we mount a btrfs filesystem from read-only media there will be no read/write devices; for example mounting an SD card with its lock enabled. This triggers an immediate BUG during mount: kernel

Re: wrong / too less space on raid

2011-11-27 Thread Miao Xie
On sun, 27 Nov 2011 13:45:22 +0100, source wrote: before sending this mail, i tried to track down previous messages from the archive and found no similar entry. so either something went wrong on my machine only or maybe there are too less testers around. about the real problem/bug : i

[PATCH] Btrfs: fix deadlock on metadata reservation when evicting a inode

2011-11-18 Thread Miao Xie
the flush step when evicting inode. Signed-off-by: Miao Xie mi...@cn.fujitsu.com --- fs/btrfs/ctree.h |3 +++ fs/btrfs/extent-tree.c | 22 ++ fs/btrfs/inode.c |2 +- 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/fs/btrfs/ctree.h b/fs/btrfs

[PATCH 3/6] Btrfs: fix unreleased path in btrfs_orphan_cleanup()

2011-11-09 Thread Miao Xie
the task, which called btrfs_orphan_cleanup(), to unlock the extent buffer, but that task waited the commit task to end the transaction commit, and the deadlock happened. Fix it. Signed-ff-by: Miao Xie mi...@cn.fujitsu.com --- fs/btrfs/inode.c |3 +++ 1 files changed, 3 insertions(+), 0 deletions

[PATCH 1/6] Btrfs: Abstract similar code for btrfs_block_rsv_add{, _noflush}()

2011-11-09 Thread Miao Xie
btrfs_block_rsv_add{, _noflush}() have similar code, so abstract that code. Signed-off-by: Miao Xie mi...@cn.fujitsu.com --- fs/btrfs/extent-tree.c | 28 1 files changed, 12 insertions(+), 16 deletions(-) diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent

[PATCH 2/6] Btrfs: fix no reserved space for writing out inode cache

2011-11-09 Thread Miao Xie
of the delayed inode is triggered. So we must reserve enough space for inode cache. Note: If we can not reserve the enough space for inode cache, we will give up writing out it. Signed-off-by: Miao Xie mi...@cn.fujitsu.com --- fs/btrfs/inode-map.c | 28 1 files changed, 24

[PATCH 5/6] Btrfs: fix deadlock caused by the race between relocation and snapshot creation

2011-11-09 Thread Miao Xie
We can not do flushable reservation for the relocation when we create snapshot, because it may make the transaction commit task and the flush task wait for each other and the deadlock happens. Signed-off-by: Miao Xie mi...@cn.fujitsu.com --- fs/btrfs/transaction.c |4 ++-- 1 files changed, 2

[PATCH 6/6] Btrfs: fix orphan backref nodes

2011-11-09 Thread Miao Xie
-by: Miao Xie mi...@cn.fujitsu.com --- fs/btrfs/relocation.c |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/fs/btrfs/relocation.c b/fs/btrfs/relocation.c index 162af18..1db3771 100644 --- a/fs/btrfs/relocation.c +++ b/fs/btrfs/relocation.c @@ -1174,6 +1174,8 @@ static int

[PATCH 4/6] Btrfs: fix nocow when deleting the item

2011-11-09 Thread Miao Xie
btrfs_previous_item() just search the b+ tree, do not COW the nodes or leaves, if we modify the result of it, the meta-data will be broken. fix it. Signed-off-by: Miao Xie mi...@cn.fujitsu.com --- fs/btrfs/volumes.c |5 - 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/fs

Re: [PATCH 1/6] Btrfs: Abstract similar code for btrfs_block_rsv_add{, _noflush}()

2011-11-09 Thread Miao Xie
by the orphan back-ref nodes. NOTE: This patchset is based on the danger branch. Miao Xie (6): Btrfs: Abstract similar code for btrfs_block_rsv_add{, _noflush}() Btrfs: fix no reserved space for writing out inode cache Btrfs: fix unreleased path in btrfs_orphan_cleanup() Btrfs: fix nocow when

Re: [RFC PATCH 2/2] Btrfs: introduce free space cluster for each node

2011-11-01 Thread Miao Xie
Any Comment? On Thu, 08 Sep 2011 16:18:09 +0800, Miao Xie wrote: This patch introduce free space cluster for each node in the b+tree. And we also simplify the fill method and the space allocation of the cluster: - Allocate free space cluster for each node - Allocate the free space extent

Re: [RFC PATCH 2/2] Btrfs: introduce free space cluster for each node

2011-11-01 Thread Miao Xie
On tue, 1 Nov 2011 12:04:40 -0400, Chris Mason wrote: On Tue, Nov 01, 2011 at 03:39:11PM +0800, Miao Xie wrote: Any Comment? This is definitely interesting, in terms of trying to avoid btree fragmentation and improve the performance of the allocator. But I'm worried about what happens

[PATCH] Btrfs: fix race between multi-task space allocation and caching space

2011-09-09 Thread Miao Xie
-off-by: Miao Xie mi...@cn.fujitsu.com --- fs/btrfs/extent-tree.c |7 +++ 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c index 80d6148..003547c 100644 --- a/fs/btrfs/extent-tree.c +++ b/fs/btrfs/extent-tree.c @@ -4887,6 +4887,7

[RFC PATCH 1/2] Btrfs: move btrfs_free_space_cachep into free-space-cache.c

2011-09-08 Thread Miao Xie
Since btrfs_free_space_cachep is just used in free-space-cache.c, declaring it as a static global variable in free-space-cache.c can make the source more readable, and less coupling. Signed-off-by: Miao Xie mi...@cn.fujitsu.com --- fs/btrfs/ctree.h|1 - fs/btrfs/free-space

[RFC PATCH 2/2] Btrfs: introduce free space cluster for each node

2011-09-08 Thread Miao Xie
Signed-off-by: Miao Xie mi...@cn.fujitsu.com --- fs/btrfs/ctree.c| 28 ++- fs/btrfs/ctree.h| 50 +++- fs/btrfs/disk-io.c |2 +- fs/btrfs/extent-tree.c | 107 +--- fs/btrfs/extent_io.c|7 +- fs/btrfs/extent_io.h|3 + fs/btrfs

[PATCH 1/3] Btrfs: fix wrong nbytes information of the inode

2011-08-18 Thread Miao Xie
-off-by: Miao Xie mi...@cn.fujitsu.com --- fs/btrfs/inode.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 18d08f4..634dd797 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -1786,7 +1786,7 @@ static int

[PATCH 2/3] Btrfs: fix the file extent gap when doing direct IO

2011-08-18 Thread Miao Xie
it: # mkfs.btrfs /dev/sdc2 # mount /dev/sdc2 /test4 # touch /test4/a # dd if=/dev/zero of=/test4/a seek=8 count=1 bs=4K oflag=direct conv=nocreat,notrunc # umount /test4 # btrfsck /dev/sdc2 root 5 inode 257 errors 100 Reported-by: Tsutomu Itoh t-i...@jp.fujitsu.com Signed-off-by: Miao Xie mi

[PATCH 3/3] Btrfs: fix unclosed transaction handle in btrfs_cont_expand()

2011-08-18 Thread Miao Xie
The function - btrfs_cont_expand() forgot to close the transaction handle before it jump out the while loop. Fix it. Signed-off-by: Miao Xie mi...@cn.fujitsu.com --- fs/btrfs/inode.c |8 ++-- 1 files changed, 6 insertions(+), 2 deletions(-) diff --git a/fs/btrfs/inode.c b/fs/btrfs

Re: [PATCH 1/3] Btrfs: fix wrong nbytes information of the inode

2011-08-18 Thread Miao Xie
On thu, 18 Aug 2011 16:11:31 +0800, Miao Xie wrote: If we write some data into the data hole of the file(no preallocation for this hole), Btrfs will allocate some disk space, and update nbytes of the inode, but the other element--disk_i_size needn't be updated. At this condition, we must

Re: [PATCH] Btrfs: reserve sufficient space for ioctl clone

2011-08-15 Thread Miao Xie
On tue, 9 Aug 2011 10:46:37 -0700, Sage Weil wrote: Fix a crash/BUG_ON in the clone ioctl due to insufficient reservation. We need to reserve space for: - adjusting the old extent (possibly splitting it) - adding the new extent - updating the inode Signed-off-by: Sage Weil

[PATCH 2/2] Btrfs: fix uninitialized sync_pending

2011-08-05 Thread Miao Xie
sync_pending is uninitialized before it be used, fix it. Signed-off-by: Miao Xie mi...@cn.fujitsu.com --- fs/btrfs/volumes.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c index 3c5f2fc..918adf6 100644 --- a/fs/btrfs/volumes.c

[PATCH 1/2] Btrfs: fix wrong free space information

2011-08-05 Thread Miao Xie
...@cn.fujitsu.com Signed-off-by: Miao Xie mi...@cn.fujitsu.com --- fs/btrfs/free-space-cache.c | 16 +++- 1 files changed, 11 insertions(+), 5 deletions(-) diff --git a/fs/btrfs/free-space-cache.c b/fs/btrfs/free-space-cache.c index 6377713..6a265b9 100644 --- a/fs/btrfs/free-space-cache.c

Re: [RFC, crash][PATCH] btrfs: allow cross-subvolume file clone

2011-08-03 Thread Miao Xie
On Wed, 3 Aug 2011 20:07:42 +0200, David Sterba wrote: I'm working on a patch to fix cross-volume cloning, worked for simple cases like cloning a single file. When I cloned a full linux-2.6 tree there was a immediate BUG_ON (after third cloned file) in btrfs_delayed_update_inode with -ENOSPC :

Re: WARNING: at fs/btrfs/delayed-inode.c:1247

2011-07-28 Thread Miao Xie
On thu, 28 Jul 2011 17:30:27 +0900, Tsutomu Itoh wrote: Hi, Chris, In current for-linus kernel, When I ran my test script such as a lot of file creation deletion and balance, the following warning messages were displayed only once. However, I cannot have it still reproduce... Hi,

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

2011-07-22 Thread Miao Xie
On fri, 22 Jul 2011 12:06:40 +0800, Miao Xie wrote: On thu, 21 Jul 2011 20:53:24 -0400, Chris Mason wrote: Hi everyone, I just rebased Josef's enospc fixes into integration-test, it should fix the warnings in extent-tree.c Unfortunately, I got the following messages. Jul 21 09:41

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

2011-07-21 Thread Miao Xie
new nodes into account when we calculate the space that need be reserved. Signed-off-by: Miao Xie mi...@cn.fujitsu.com --- fs/btrfs/ctree.h |8 +++- 1 files changed, 7 insertions(+), 1 deletions(-) diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h index d813a67..4f23819 100644 --- a/fs

[PATCH] Btrfs: fix BUG_ON() caused by ENOSPC when relocating space

2011-07-15 Thread Miao Xie
() in __finish_chunk_alloc() was triggered. Fix this bug by allocating a new system metadata chunk before relocating the old one if we find there is no free space which can be allocated after setting the old block group to be read-only. Reported-by: Tsutomu Itoh t-i...@jp.fujitsu.com Signed-off-by: Miao Xie mi

Re: [BUG] delayed inodes and reflinks

2011-07-05 Thread Miao Xie
On tue, 05 Jul 2011 15:25:12 +0200, Jan Schmidt wrote: I hit this bug an hour ago while executing some cp --reflink: Jul 5 13:54:02 oglaroon kernel: [ 2654.545244] [ cut here ] Jul 5 13:54:02 oglaroon kernel: [ 2654.600508] kernel BUG at

Re: please review snapshot corruption path with delayed metadata insertion

2011-06-30 Thread Miao Xie
update. Signed-off-by: Miao Xie mi...@cn.fujitsu.com --- fs/btrfs/inode.c | 13 - 1 files changed, 8 insertions(+), 5 deletions(-) diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 447612d..13b2c04 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -2678,12 +2678,15

Re: please review snapshot corruption path with delayed metadata insertion

2011-06-30 Thread Miao Xie
On thu, 30 Jun 2011 16:03:21 +0800, Miao Xie wrote: Hi, Chris I think the snapshot should be the image of the fs tree before it was created, so the metadata of the snapshot should not exist in the its tree. But now, we found the directory item and directory name index is in both the snapshot

[PATCH] btrfs: fix inconsonant inode information

2011-06-23 Thread Miao Xie
] [813b9aab] system_call_fastpath+0x16/0x1b Fix it by reusing the old delayed node. Reported-by: Jim Schutt jasc...@sandia.gov Signed-off-by: Miao Xie mi...@cn.fujitsu.com Tested-by: Jim Schutt jasc...@sandia.gov --- fs/btrfs/delayed-inode.c | 104 +++--- fs/btrfs

Re: please review snapshot corruption path with delayed metadata insertion

2011-06-23 Thread Miao Xie
On Tue, 21 Jun 2011 10:15:30 +0900, Tsutomu Itoh wrote: [SNIP] Bad news. I changed my test environment to 'btrfs-unstable + for-linus', I encountered following panic without inode_cache. (in about 4 hours after test begins) btrfs: relocating block group 49161437184 flags 9 btrfs: found

Re: kernel BUG at fs/btrfs/delayed-inode.c:1301!

2011-06-21 Thread Miao Xie
On Tue, 21 Jun 2011 02:08:54 +0200, David Sterba wrote: On Mon, Jun 20, 2011 at 06:12:10PM +0800, Miao Xie wrote: From 457f39393b2e3d475fbba029b90b6a4e17b94d43 Mon Sep 17 00:00:00 2001 From: Miao Xie mi...@cn.fujitsu.com Date: Mon, 20 Jun 2011 17:21:51 +0800 Subject: [PATCH] btrfs: fix

Re: kernel BUG at fs/btrfs/delayed-inode.c:1301!

2011-06-20 Thread Miao Xie
More majordomo info at http://vger.kernel.org/majordomo-info.html From 457f39393b2e3d475fbba029b90b6a4e17b94d43 Mon Sep 17 00:00:00 2001 From: Miao Xie mi...@cn.fujitsu.com Date: Mon, 20 Jun 2011 17:21:51 +0800 Subject: [PATCH] btrfs: fix inconsonant inode information When iputting the inode, We

Re: kernel BUG at fs/btrfs/delayed-inode.c:1301!

2011-06-19 Thread Miao Xie
On fri, 17 Jun 2011 10:10:31 -0600, Jim Schutt wrote: I've hit this delayed-inode BUG several times. I'm using btrfs as the data store for Ceph OSDs, and testing a heavy write load. The kernel I'm running is a recent commit (f8f44f09eaa) from Linus' tree with the for-chris branch (commit

[PATCH 1/2] btrfs: fix wrong reservation when doing delayed inode operations

2011-06-15 Thread Miao Xie
of the transaction handle to the correct one. Besides that, we needn't hold the pointer of global_block_rsv because we can access it by delayed_item-delayed_node-root-fs_info-global_block_rsv. So clean up block_rsv in delayed items. Reported-by: Josef Bacik jo...@redhat.com Signed-off-by: Miao Xie mi

[PATCH 2/2] btrfs: fix deadlock when doing reservation

2011-06-15 Thread Miao Xie
handle has been joined into the transaction. Signed-off-by: Miao Xie mi...@cn.fujitsu.com --- fs/btrfs/extent-tree.c | 25 +-- fs/btrfs/transaction.c | 51 +-- 2 files changed, 50 insertions(+), 26 deletions(-) diff --git a/fs

Re: 3.0-rcX BUG at fs/btrfs/ioctl.c:432 - bisected

2011-06-09 Thread Miao Xie
commit commit 16cdcec736cd214350cdb591bf1091f8beedefa0 Author: Miao Xie mi...@cn.fujitsu.com Date: Fri Apr 22 18:12:22 2011 +0800 btrfs: implement delayed inode items operation Please let me know what other information I can provide, or any testing I can do, that will help to resolve

Re: Delayed inode operations not doing the right thing with enospc

2011-06-06 Thread Miao Xie
On fri, 03 Jun 2011 14:46:10 -0400, Josef Bacik wrote: I got a lot of these when running stress.sh on my test box [ 9792.654889] [ cut here ] [ 9792.654898] WARNING: at fs/btrfs/extent-tree.c:5681 btrfs_alloc_free_block+0xca/0x27c [btrfs]() [ 9792.654899] Hardware

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

2011-05-26 Thread Miao Xie
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 *dev, u64 logical, +

Re: [PATCH V6 3/3] btrfs: delay to insert the initial inode

2011-04-25 Thread Miao Xie
On Mon, 25 Apr 2011 16:50:43 -0400, Chris Mason wrote: Excerpts from Miao Xie's message of 2011-04-22 06:12:24 -0400: Since we have implemented the delayed update of the inode, we can also delayed to insert the initial inode, then we can merge the inode update and the initial inode insertions

[PATCH V6 1/3] btrfs: fix wrong allocating flag when reading page

2011-04-22 Thread Miao Xie
From: Itaru Kitayama kitay...@cl.bb4u.ne.jp the space cache use extent_readpages() to read free space information, so we can not use GFP_KERNEL flag to allocate memory, or it may lead to deadlock. Signed-off-by: Itaru Kitayama kitay...@cl.bb4u.ne.jp Signed-off-by: Miao Xie mi...@cn.fujitsu.com

[PATCH V6 3/3] btrfs: delay to insert the initial inode

2011-04-22 Thread Miao Xie
Since we have implemented the delayed update of the inode, we can also delayed to insert the initial inode, then we can merge the inode update and the initial inode insertions to one insertion. Signed-off-by: Miao Xie mi...@cn.fujitsu.com --- fs/btrfs/delayed-inode.c | 18 +-- fs/btrfs

Re: wrong values in df and btrfs filesystem df

2011-04-12 Thread Miao Xie
On Mon, 11 Apr 2011 08:29:46 +0100, Stephane Chazelas wrote: 2011-04-10 18:13:51 +0800, Miao Xie: [...] # df /srv/MM Filesystem 1K-blocks Used Available Use% Mounted on /dev/sdd15846053400 1593436456 2898463184 36% /srv/MM # btrfs filesystem df /srv/MM Data

Re: [PATCH V2] btrfs: fix possible deadlock by clearing __GFP_FS flag

2011-03-29 Thread Miao Xie
On tue, 29 Mar 2011 14:48:05 +0900, Itaru Kitayama wrote: Hi Miao, On Sun, 27 Mar 2011 20:27:30 +0800 Miao Xie mi...@cn.fujitsu.com wrote: Changelog V1 - V2: - modify the explanation of the deadlock. - clear __GFP_FS flag in the free space's page cache. I think this is also needed

Re: [PATCH V5 2/2] btrfs: implement delayed inode items operation

2011-03-27 Thread Miao Xie
On sun, 27 Mar 2011 14:30:55 +0900, Itaru Kitayama wrote: Chris' stress test, stress.sh -n 50 -c /mnt/linux-2.6 /mnt gave me another lockdep splat (see below). I applied your V5 patches on top of the next-rc branch. I got it. It is because the allocation flag of the metadata's page cache,

[PATCH] btrfs: fix possible deadlock by clearing __GFP_FS flag

2011-03-27 Thread Miao Xie
in GFP_HIGHUSER_MOVABLE flag. Reported-by: Itaru Kitayama kitay...@cl.bb4u.ne.jp Signed-off-by: Miao Xie mi...@cn.fujitsu.com --- fs/btrfs/disk-io.c |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index 3e1ea3e..cf55fa0 100644 --- a/fs/btrfs/disk-io.c

Re: [PATCH V5 2/2] btrfs: implement delayed inode items operation

2011-03-27 Thread Miao Xie
On sun, 27 Mar 2011 20:09:10 +0900, Itaru Kitayama wrote: Hi Miao, On Sun, 27 Mar 2011 15:00:00 +0800 Miao Xie mi...@cn.fujitsu.com wrote: I got it. It is because the allocation flag of the metadata's page cache, which is stored in the btree inode's i_mapping, was set

[PATCH V2] btrfs: fix possible deadlock by clearing __GFP_FS flag

2011-03-27 Thread Miao Xie
, the deadlock happens. So the btree's page cache and free space's page cache is different with the file's page cache, it can not allocate pages by GFP_HIGHUSER_MOVABLE flag, we must clear __GFP_FS flag in their i_mapping's flag. Reported-by: Itaru Kitayama kitay...@cl.bb4u.ne.jp Signed-off-by: Miao

[PATCH V5 1/2] btrfs: use GFP_NOFS instead of GFP_KERNEL

2011-03-24 Thread Miao Xie
In the filesystem context, we must allocate memory by GFP_NOFS, or we may start another filesystem operation and make kswap thread hang up. Signed-off-by: Miao Xie mi...@cn.fujitsu.com --- fs/btrfs/extent-tree.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/btrfs

Re: [RFC] Tree fragmentation and prefetching

2011-03-24 Thread Miao Xie
On thu, 24 Mar 2011 08:29:57 +0100, Arne Jansen wrote: On 24.03.2011 02:38, Miao Xie wrote: On wed, 23 Mar 2011 21:28:25 +0100, Arne Jansen wrote: On 23.03.2011 20:26, Andrey Kuzmin wrote: On Wed, Mar 23, 2011 at 4:06 PM, Arne Jansensensi...@gmx.net wrote: The main idea is to load

Re: [PATCH V5 1/2] btrfs: use GFP_NOFS instead of GFP_KERNEL

2011-03-24 Thread Miao Xie
On Fri, 25 Mar 2011 00:07:59 +0100, David Sterba wrote: On Thu, Mar 24, 2011 at 07:41:21PM +0800, Miao Xie wrote: In the filesystem context, we must allocate memory by GFP_NOFS, or we may start another filesystem operation and make kswap thread hang up. indeed. Did you check for other

Re: [PATCH V4] btrfs: implement delayed inode items operation

2011-03-23 Thread Miao Xie
Hi, Kitayama-san On wed, 23 Mar 2011 13:19:18 +0900, Itaru Kitayama wrote: On Wed, 23 Mar 2011 12:00:38 +0800 Miao Xie mi...@cn.fujitsu.com wrote: I is testing the new version, in which I fixed the slab shrinker problem reported by Chris. In the new version, the delayed node is removed

Re: [PATCH V4] btrfs: implement delayed inode items operation

2011-03-23 Thread Miao Xie
On wed, 23 Mar 2011 09:57:56 +0800, Miao Xie wrote: On Mon, 21 Mar 2011 08:08:17 -0400, Chris Mason wrote: I also think that code is racing with the code that frees delayed nodes, but haven't yet triggered my debugging printks to prove either one. We free delayed nodes when we want to destroy

Re: [RFC] Tree fragmentation and prefetching

2011-03-23 Thread Miao Xie
On wed, 23 Mar 2011 21:28:25 +0100, Arne Jansen wrote: On 23.03.2011 20:26, Andrey Kuzmin wrote: On Wed, Mar 23, 2011 at 4:06 PM, Arne Jansensensi...@gmx.net wrote: While looking into the performance of scrub I noticed that a significant amount of time is being used for loading the extent

Re: [PATCH V4] btrfs: implement delayed inode items operation

2011-03-22 Thread Miao Xie
On Mon, 21 Mar 2011 08:08:17 -0400, Chris Mason wrote: I also think that code is racing with the code that frees delayed nodes, but haven't yet triggered my debugging printks to prove either one. We free delayed nodes when we want to destroy the inode, at that time, just one task, which is

Re: [PATCH V4] btrfs: implement delayed inode items operation

2011-03-22 Thread Miao Xie
On wed, 23 Mar 2011 12:24:09 +0900, Itaru Kitayama wrote: Hi Miao, The possible circular locking dependency message doesn't show up in the updated V5. However, I see a new possible irq lock inversion dependency message while running xfstests. I is testing the new version, in which I

Re: [PATCH V4] btrfs: implement delayed inode items operation

2011-03-21 Thread Miao Xie
On tue, 22 Mar 2011 11:33:10 +0900, Itaru Kitayama wrote: Here is an excerpt of the V4 patch applied kernel boot log: === [ INFO: possible circular locking dependency detected ] 2.6.36-xie+ #117

Re: [PATCH V4] btrfs: implement delayed inode items operation

2011-03-20 Thread Miao Xie
On sun, 20 Mar 2011 20:33:34 -0400, Chris Mason wrote: Excerpts from Miao Xie's message of 2011-03-18 05:24:46 -0400: Changelog V3 - V4: - Fix nested lock, which is reported by Itaru Kitayama, by updating space cache inodes in time. I ran some tests on this and had trouble with my

Re: [PATCH V3] btrfs: implement delayed inode items operation

2011-03-18 Thread Miao Xie
trans_mutex and writes the delayed nodes out to the tree. Is my understanding correct? for space cache inodes, we just update them in time, don't delayed to update them. Thanks Miao On Fri, 18 Mar 2011 11:37:03 +0800 Miao Xie mi...@cn.fujitsu.com wrote: I find the inodes of free space

Re: [PATCH V3] btrfs: implement delayed inode items operation

2011-03-16 Thread Miao Xie
On Wed, 16 Mar 2011 18:48:50 +0900, Itaru Kitayama wrote: Hi Miao, The V4 still hangs. Does the new function, btrfs_update_inode_nodelayed() you introduced to the V4 need take care of a delayed node (commit delayed items of the inode and set the delayed note to NULL)? I think there no

Re: [PATCH] btrfs: fix dip leak

2011-03-09 Thread Miao Xie
On thu, 10 Mar 2011 00:46:42 +0800, Daniel J Blueman wrote: 2010/11/22 Miao Xie mi...@cn.fujitsu.com: bio_endio() will free dip and dip-csums, so dip and dip-csums twice will be freed twice. Fix it. Signed-off-by: Miao Xie mi...@cn.fujitsu.com --- fs/btrfs/inode.c |9 +++-- 1

Re: [PATCH V3] btrfs: implement delayed inode items operation

2011-03-08 Thread Miao Xie
On tue, 8 Mar 2011 17:56:40 +0100, David Sterba wrote: Hi, I did some testing, the speedup results match yours. I was watching kmem cache stats of the delayed_node, seem to behave well. Increase and decrease of number of active objects, from 3 to about ~400 (creat_unlink 5) and went

Re: About btrfs chunk tree backups

2011-03-07 Thread Miao Xie
On Thu, 3 Mar 2011 07:37:25 -0500, Josef Bacik wrote: On Thu, Mar 03, 2011 at 05:01:00PM +0800, Miao Xie wrote: Hi, Chris and Josef Recently, I am interested in chunk tree backups, which is described in Project ideas web. But I found it is hard to be implemented. The description said make

<    4   5   6   7   8   9   10   11   >