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
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
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
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:
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
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
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
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
:
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
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
-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
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
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
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
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
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
. 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
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:
+ * +--+
+ * |
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
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
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.
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.
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
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
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
.
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
.
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
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
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
: 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
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
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
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
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
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
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;
+
+
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
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
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
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
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
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
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
-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
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
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
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
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
-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
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
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
-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
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
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
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
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
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
...@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
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 :
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,
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
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
() 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
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
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
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
] [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
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
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
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
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
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
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
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
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
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,
+
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
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
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
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
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
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,
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
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
, 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
801 - 900 of 1023 matches
Mail list logo