If a inode is a BTRFS_INODE_NODATASUM one, it need not to look for csum items
any more.
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
fs/btrfs/tree-log.c |8 +---
1 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c
index 0ccffb1
In multi-thread situations, writeback of a file may span across several
sub transactions, and we need to introduce first_sub_trans to get sub_transid of
teh first sub transaction recorded, so that log code can skip file extents which
have been logged or committed onto disk.
Signed-off-by: Liu Bo
log code.
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
fs/btrfs/ctree.c | 35 ++-
fs/btrfs/ctree.h |1 +
fs/btrfs/disk-io.c |7 ---
fs/btrfs/extent-tree.c | 10 ++
fs/btrfs/inode.c |4 ++--
fs/btrfs/ioctl.c
: rw=145, want=546560, limit=546147
attempt to access beyond end of device
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
fs/btrfs/volumes.c | 17 +
1 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index 19450bc..e5d57af
When checking if there is enough space for balancing a block group,
since we do not take raid types into consideration, we do not account
corrent amounts of space that we needed. This makes us do some extra
work before we get ENOSPC.
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
fs/btrfs
cur_trans, as David asked, I rebase the patchset to the latest for-linus
branch.
More tests are welcome!
Liu Bo (12):
Revert Btrfs: do not flush csum items of unchanged file data during
treelog
Btrfs: introduce sub transaction stuff
Btrfs: update block generation if should_cow_block
We maintain the inode's logged_trans to avoid reloging it, but if we iput
the inode and reread it, we'll get logged_trans to zero.
So when an inode is still in log tree, and transaction is not committed yet,
we do not iput the inode.
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
fs/btrfs
We want to use btrfs_drop_extent() in log code.
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
fs/btrfs/ctree.h|3 ++-
fs/btrfs/file.c |9 +++--
fs/btrfs/inode.c|6 +++---
fs/btrfs/ioctl.c|4 ++--
fs/btrfs/tree-log.c |2 +-
5 files changed, 15
fsync will wait for writeback till it finishes, and last_trans will get the real
transid recorded in writeback, so it does not need an extra +1 to ensure fsync's
process on the file.
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
fs/btrfs/file.c | 13 -
1 files changed, 0
Due to DIO stuff, commit 1ef30be142d2cc60e2687ef267de864cf31be995 makes btrfs
not call btrfs_update_inode when it does not update i_disk_size, but in buffer
write case, we need to update btrfs internal inode's trans stuff, so that the
log code can find the inode's changes.
Signed-off-by: Liu Bo
it will not interfere with others.
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
fs/btrfs/btrfs_inode.h |5 -
fs/btrfs/ctree.h |1 -
fs/btrfs/disk-io.c |2 --
fs/btrfs/inode.c |2 --
fs/btrfs/transaction.h |1 -
fs/btrfs/tree-log.c| 16
log code.
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
fs/btrfs/ctree.c | 35 ++-
fs/btrfs/ctree.h |1 +
fs/btrfs/disk-io.c |7 ---
fs/btrfs/extent-tree.c | 10 ++
fs/btrfs/inode.c |4 ++--
fs/btrfs/ioctl.c
, cause the common case is
make changes on a _part_ of inode.
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
fs/btrfs/tree-log.c | 180 ---
1 files changed, 128 insertions(+), 52 deletions(-)
diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c
When doing div operation of u64 type, we need to be careful and use do_div
to avoid compile ERROR on 32bit box:
ERROR: __udivdi3 [fs/btrfs/btrfs.ko] undefined!
make[1]: *** [__modpost] Error 1
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
fs/btrfs/extent-tree.c |4 ++--
1 files changed
When doing div operation of u64 type, we need to be careful and use do_div
to avoid compile ERROR on 32bit box:
ERROR: __udivdi3 [fs/btrfs/btrfs.ko] undefined!
make[1]: *** [__modpost] Error 1
v1-v2:
- fix stupid do_div() with type signed integer.
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
remains unchanged.
However, btrfs_ino() does not take this into account, and returns a wrong ino,
and causes the oops.
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
fs/btrfs/btrfs_inode.h |6 +-
1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/fs/btrfs/btrfs_inode.h b
On 08/24/2011 06:24 PM, Petr Hejl wrote:
Hi,
after upgrading, I receive these messages (or similar) all the time...
P.
Seems this patch can help you :)
https://patchwork.kernel.org/patch/1074802/
thanks,
liubo
[ 142.542311] [ cut here ]
[ 142.542323] WARNING:
On 08/31/2011 04:17 PM, Arne Jansen wrote:
On 06.08.2011 10:35, Liu Bo wrote:
When btrfs recovers from a crash, it may hit the oops below:
[ cut here ]
kernel BUG at fs/btrfs/inode.c:4580!
[...]
RIP: 0010:[a03df251] [a03df251]
btrfs_add_link+0x161
On 09/02/2011 01:38 AM, Mitch Harder wrote:
On Sat, Aug 6, 2011 at 4:37 AM, Liu Bo liubo2...@cn.fujitsu.com wrote:
I've fixed a bug and rebased this to the latest for-linus branch,
and with applying my previous posted patch:
[PATCH] Btrfs: fix an oops of log replay
, I also test
At the beginning of create_pending_snapshot, trans-block_rsv is set
to pending-block_rsv and is used for snapshot things, however, when
it is done, we do not recover it as will.
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
fs/btrfs/transaction.c |4
1 files changed, 4 insertions
-tree.c:5711 btrfs_alloc_free_block+0x180/0x350
[btrfs]()
...
WARNING: at fs/btrfs/inode.c:2193 btrfs_orphan_commit_root+0xb0/0xc0 [btrfs]()
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
fs/btrfs/free-space-cache.c |4
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/fs
On 09/11/2011 05:47 AM, Martin Mailand wrote:
Hi
I am hitting this Warning reproducible, the workload is a ceph osd,
kernel ist 3.1.0-rc5.
Have posted a patch for this:
http://marc.info/?l=linux-btrfsm=131547325515336w=2
thanks,
liubo
Best Regards,
martin
[ 5472.099766]
Hi,
While running my tool(attachment), I would encounter the BUG_ON, and I FAILED
to find where went wrong :(
The tool is with inode_cache option, and mainly do three things:
a. run Chris's synctest in BACKGROUND
b. create 100 snapshots
c. after b, run btrfs fi balance
You can follow these
Hi,
While running my tool(attachment), I would encounter the BUG_ON, and I FAILED
to find where went wrong :(
The tool is with inode_cache option, and mainly do three things:
a. run Chris's synctest in BACKGROUND
b. create 100 snapshots
c. after b, run btrfs fi balance
You can follow these
On 09/27/2011 10:52 AM, Jim wrote:
Hi Btrfs list,
I am testing btrfs on a (to me) large filesystem. The tree consists of
/data/sites/...0419/email.addr/files.
Within each of the 420 directories are 2562 directories each with 20
files on average. The files range from
small html files to
On 09/28/2011 09:44 PM, Chris Mason wrote:
Excerpts from Josef Bacik's message of 2011-09-28 08:34:03 -0400:
On 09/28/2011 06:00 AM, Liu Bo wrote:
We forget to clear inode's dirty_bytes and EXTENT_DIRTY at the end of write.
We don't set EXTENT_DIRTY unless we failed to read a block and that's
On 10/10/2011 12:41 AM, Christian Brunner wrote:
I just realized that this is still the same warning I reported some month ago.
I thought that this had been fixed with
25d37af374263243214be9d912cbb46a8e469bc7
which is included in the kernel I'm using. So I think there must be
another
this one instead?
From: Liu Bo liubo2...@cn.fujitsu.com
[PATCH] Btrfs: deal with EEXIST after iput
There are two cases when BTRFS_I(inode)-logged_trans is zero:
a) an inode is just allocated;
b) iput an inode and reread it.
However, in b) if btrfs is not committed yet, and this inode _may_ still
On 10/16/2011 09:37 AM, dima wrote:
Hello,
On a newly created filesystem with btrfs-progs-git-20111009 and the 3.1.0-rc8
kernel I am getting the following error when doing btrfsck after main OS
installation
fs tree 256 refs 2
unresolved ref root 256 dir 256 index 2 namelen 8
On 10/19/2011 09:01 AM, Liu Bo wrote:
On 10/19/2011 12:02 AM, Jan Schmidt wrote:
Hi there,
while playing with snapshots for btrfs send, I also encountered
seemingly duplicate inodes, which are multiple
BTRFS_EMPTY_SUBVOL_DIR_OBJECTID objects within the same directory. I can
imagine software
In commit ab1ca99b51df63901617b9f10f9a36d5d4972d78
(Btrfs: reset to appropriate block rsv after orphan operations),
we miss a block_rsv reset and this sometimes leads us to
the WARNING of btrfs_orphan_commit_root().
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
fs/btrfs/free-space-cache.c
On 10/17/2011 11:23 PM, Christian Brunner wrote:
2011/10/11 Christian Brunner c...@muc.de:
2011/10/11 Liu Bo liubo2...@cn.fujitsu.com:
On 10/10/2011 12:41 AM, Christian Brunner wrote:
I just realized that this is still the same warning I reported some month
ago.
I thought that this had
On 10/26/2011 07:18 AM, Myroslav Opyr wrote:
liubo liubo2009 at cn.fujitsu.com writes:
On 04/22/2011 09:28 AM, Chris Mason wrote:
Right, at the very least we want to just use one bit of that field
instead of all 8. But keeping a sub-transid and putting that in the
generation field of the
On 09/29/2011 10:59 PM, Chris Mason wrote:
Excerpts from Arne Jansen's message of 2011-09-29 04:40:30 -0400:
On 29.09.2011 10:36, Yan, Zheng wrote:
On 09/29/2011 04:18 PM, Liu Bo wrote:
On 09/29/2011 12:25 PM, Yan, Zheng wrote:
On 09/29/2011 10:00 AM, Liu Bo wrote:
The btrfs snapshotting
credit to Liu Bo and Fujitsu for getting the
sub-transid work going, any bugs in the pushed patch are probably ones
I introduced.
integration-danger merges in the new sub-transid logging code along with
all of the fixes Dave Sterba has been tracking, and Josef's code.
I'm still merging
On 11/01/2011 06:55 PM, Chris Mason wrote:
On Tue, Nov 01, 2011 at 05:22:20PM +0800, Liu Bo wrote:
Hi,
On 11/01/2011 10:49 AM, Chris Mason wrote:
Hi everyone,
I've pushed out a new integration branch, but it is not for general use.
I'm still going through and hammering on the new logging
) the third one has already been in for-linus branch, but not in danger
branch, so I add it here for the integrity,
4) the fourth one fixes a transid mismatch bug,
5) the fifth one fixes the disk extent refs' generation bug.
Any advices and tests are welcome!
Liu Bo (5):
Btrfs: fix btrfs_copy_root
We've forgotten to update root's last_snapshot gen to the latest sub transid,
so that we will free some extent buffers unexpectedly. And this will cause
a inconsistent tree crash.
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
fs/btrfs/transaction.c |3 ++-
1 files changed, 2 insertions
Should check for sub transid instead.
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
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 fa34b74..4a96337 100644
--- a/fs/btrfs/ctree.c
+++ b/fs/btrfs/ctree.c
is not same with sub transid.
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
fs/btrfs/ctree.c | 32 +---
1 files changed, 21 insertions(+), 11 deletions(-)
diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c
index 2b38acd..6cc9529 100644
--- a/fs/btrfs/ctree.c
+++ b
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
fs/btrfs/ctree.c | 17 -
fs/btrfs/ctree.h |2 ++
fs/btrfs/transaction.c |8
3 files changed, 26 insertions(+), 1 deletions(-)
diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c
index 4a96337..2b38acd
,
the udpate will be easy. When we update a block's generation, we
also update the related ref's generation in the rbtree.
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
fs/btrfs/ctree.c | 32
fs/btrfs/ctree.h |6 +++-
fs/btrfs/delayed-ref.c |7 -
fs
On 11/23/2011 06:02 AM, Timothy Crone wrote:
Okay, I got it. Dmesg had what I think you need. Some relavent
commands then the trace follow. I was trying to delete my Chrome
cache, because I determined that this part of the file system was
possibly causing my problems. I've heard of others
Drop spin lock in convert_extent_bit() when memory alloc fails,
otherwise, it will be a deadlock.
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
fs/btrfs/extent_io.c | 24
1 files changed, 16 insertions(+), 8 deletions(-)
diff --git a/fs/btrfs/extent_io.c b/fs
On 11/28/2011 11:10 PM, David Sterba wrote:
On Mon, Nov 21, 2011 at 06:10:19PM +0800, Liu Bo wrote:
We've been sufferring two big bugs with sub transid:
one is a bug related to root's last_snapshot, the other is a bug related to
disk extent refs' generation.
Do you have a testcase
On 11/30/2011 12:17 AM, David Sterba wrote:
On Tue, Nov 29, 2011 at 09:18:35AM +0800, Liu Bo wrote:
a) For the first one (last_snapshot bug),
The test involves three processes (derived from Chris):
mkfs.btrfs /dev/xxx
mount /dev/xxx /mnt
1) run compilebench -i 30 --makej -D /mnt
Let
On 12/05/2011 03:21 AM, Sergey V. wrote:
When i do `find -type d -xdev -print0 | xargs -0 btrfs fi defrag` to
try to defragments just the metadata held by the directory object
(as noted at wiki [1]), i get several oopses.
kernel version is 3.2.0-rc3; mount options is
On 12/16/2011 02:49 AM, Tobias wrote:
Hi all!
My BTRFS-FS ist getting really slow. Reading is ok, writing is slow and
deleting is horrible slow.
There are many files and many links on the FS.
# btrfs filesystem df /srv/storage
Data: total=3.09TB, used=3.07TB
System, DUP: total=8.00MB,
On 12/19/2011 10:17 PM, David Sterba wrote:
Go through all extents of a file in a given [start,end) range and sum
for:
* regular extent: -block_len, size is already rounded up to blocks
* inline extents: length rounded up to 512
The range is start inclusive / end exclusive. For the whole
On 12/21/2011 07:39 AM, Chris Baines wrote:
On 20 December 2011 23:36, Chris Mason chris.ma...@oracle.com wrote:
On Tue, Dec 20, 2011 at 10:34:20PM +, Chris Baines wrote:
Hello,
I am having problems with my btrfs filesystem, I have a 1TB RAID-1
setup that I use as /home. When accessing
If a block group is ro, do not count its entries in when we dump space info.
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
fs/btrfs/free-space-cache.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/fs/btrfs/free-space-cache.c b/fs/btrfs/free-space-cache.c
index
-by: Liu Bo liubo2...@cn.fujitsu.com
---
fs/btrfs/inode.c |6 +-
1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 1f72817..4892396 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -1245,7 +1245,11 @@ next_slot
During disk balance, we prealloc new file extent for file data relocation,
but we may fail in 'no available space' case, and only under this case can
the error be reported to userspace, so we do not need to abort transaction
here.
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
fs/btrfs
Block group has ro attributes, make dump_space_info show it.
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
fs/btrfs/extent-tree.c |5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index bbe79ab..f29859b 100644
On 07/04/2012 11:15 PM, Marc MERLIN wrote:
On Wed, Jul 04, 2012 at 01:58:31PM +0800, Liu Bo wrote:
The dmesg log, sysrq log and stack dump info can usually be very helpful.
From your report, we can see the csum error and hang on log,
'no csum' is not that bad while hanging-on is serious
On 07/04/2012 11:41 PM, David Sterba wrote:
On Fri, Jun 29, 2012 at 06:00:38PM +0800, Liu Bo wrote:
We want 'btrfs subvolume list' to act as 'ls', which means that
we can not only list out all the subvolumes we have, but also list
each single one.
So this patch add 's' option to show
On 07/06/2012 03:52 AM, Nick Bowler wrote:
Hi folks,
I got bored while running the Debian installer (installing to btrfs)
so I hard-reset the machine during install. The filesystem presumably
suffered due to the reset, but I'm now getting oopses on attempts to
mount it again. I get
Block group has ro attributes, make dump_space_info show it.
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
v1-v2: make printk more friendly to grep.
fs/btrfs/extent-tree.c |6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent
-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
v1-v2: adopt an easier and cleaner way:
checking return value instead of adding more arguments.
fs/btrfs/extent-tree.c |6 +-
1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
If a block group is ro, do not count its entries in when we dump space info.
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
fs/btrfs/free-space-cache.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/fs/btrfs/free-space-cache.c b/fs/btrfs/free-space-cache.c
index
inode and bail out with setting cache state DC_WRITTEN.
We can benifit from it since it saves us another 'pre-allocation' part which
usually costs a lot.
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
Signed-off-by: Miao Xie mi...@cn.fujitsu.com
---
v1-v2: figure out the real deep cause
On 07/06/2012 11:37 PM, Chris Mason wrote:
On Wed, Jun 13, 2012 at 07:50:52PM -0600, Liu Bo wrote:
On 06/14/2012 12:07 AM, Zach Brown wrote:
int set_state_private(struct extent_io_tree *tree, u64 start, u64
private)
{
[...]
+ret = radix_tree_insert(tree-csum, (unsigned long)start
For btree inode, its root is also 'tree root', so btree inode can be
misunderstood as a free space inode.
We should add one more check for btree inode.
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
fs/btrfs/btrfs_inode.h |6 --
1 files changed, 4 insertions(+), 2 deletions(-)
diff
Since root can be fetched via BTRFS_I macro directly, we can save an args
for btrfs_is_free_space_inode().
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
fs/btrfs/btrfs_inode.h |5 +++--
fs/btrfs/extent-tree.c |2 +-
fs/btrfs/file-item.c |2 +-
fs/btrfs/inode.c | 22
On 07/10/2012 08:18 PM, Daniel J Blueman wrote:
On 2 July 2012 12:20, Liu Bo liubo2...@cn.fujitsu.com wrote:
On 07/02/2012 11:35 AM, Daniel J Blueman wrote:
Hi everyone,
I've got a nice set of fixes from Josef, Jan, Ilya and others in my
for-linus branch:
git://git.kernel.org/pub/scm
On 07/11/2012 02:58 AM, Josef Bacik wrote:
On Tue, Jul 10, 2012 at 05:27:59AM -0600, Liu Bo wrote:
While testing with my buffer read fio jobs[1], I find that btrfs does not
perform well enough.
Here is a scenario in fio jobs:
We have 4 threads, t1 t2 t3 t4, starting to buffer read a same
On 07/11/2012 08:31 PM, Josef Bacik wrote:
On Tue, Jul 10, 2012 at 07:57:55PM -0600, Liu Bo wrote:
On 07/11/2012 02:58 AM, Josef Bacik wrote:
On Tue, Jul 10, 2012 at 05:27:59AM -0600, Liu Bo wrote:
While testing with my buffer read fio jobs[1], I find that btrfs does not
perform well enough
On 07/12/2012 01:21 AM, Josef Bacik wrote:
On Tue, Jul 10, 2012 at 05:27:59AM -0600, Liu Bo wrote:
While testing with my buffer read fio jobs[1], I find that btrfs does not
perform well enough.
Here is a scenario in fio jobs:
We have 4 threads, t1 t2 t3 t4, starting to buffer read a same
/
[READ]
filename=foobar
size=2000M
invalidate=1
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
v1-v2: if we fail to make a allocation, just fall back to the old way to
read page.
fs/btrfs/extent_io.c | 41 +++--
1 files changed, 39 insertions(+), 2
On 07/12/2012 05:17 PM, Bernd Kohler wrote:
Hi @ all,
in the last edition of the german Linux-Magazin, there has been an
article about Linux filesystem performance test - the article is titled
Formel Storage - Linux-Dateisystem im Leistungstest.
The author of this article, Mr Michael
On 07/12/2012 02:04 PM, Chris Mason wrote:
On Wed, Jul 11, 2012 at 08:13:51PM -0600, Liu Bo wrote:
While testing with my buffer read fio jobs[1], I find that btrfs does not
perform well enough.
Here is a scenario in fio jobs:
We have 4 threads, t1 t2 t3 t4, starting to buffer read a same
/
[READ]
filename=foobar
size=2000M
invalidate=1
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
v2-v3: adopt kernel native pagevec instead of kmalloc.
v1-v2: if we fail to make a allocation, just fall back to the old way to
read page.
fs/btrfs/extent_io.c | 16 +++-
1
As ref cache has been removed from btrfs, there is no user on
its lock and its check.
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
fs/btrfs/ctree.h |3 ---
fs/btrfs/disk-io.c |5 -
2 files changed, 0 insertions(+), 8 deletions(-)
diff --git a/fs/btrfs/ctree.h b/fs/btrfs
On 07/17/2012 09:43 PM, David Sterba wrote:
On Tue, Jul 10, 2012 at 07:28:39PM +0800, Liu Bo wrote:
Since root can be fetched via BTRFS_I macro directly, we can save an args
for btrfs_is_free_space_inode().
I see a great opportunity to rename the function :) It does not cover
just the free
something
in btrfs's wiki page?
And thanks for your energy on btrfs! :)
thanks,
liubo
Thanks,
Alex.
On Tue, Jul 10, 2012 at 2:28 PM, Liu Bo liubo2...@cn.fujitsu.com wrote:
For btree inode, its root is also 'tree root', so btree inode can be
misunderstood as a free space inode.
We should
On 07/18/2012 07:57 PM, David Sterba wrote:
On Mon, Jul 16, 2012 at 02:05:25PM -0400, Liu Bo wrote:
v2-v3: adopt kernel native pagevec instead of kmalloc.
Do we really use the pagevec features here? It looks more like a fancy
way to employ a simple array ...
And with a simple array we
On 07/19/2012 02:01 AM, Marc MERLIN wrote:
Just to put a lid (maybe) on that thread, I now think that it's very
possible my btrfs hangs when the drive was almost full (10GB remaining
though) were due to my Crucial RealSSD C300, which has just mostly died
yesterday after (I think) the
On 07/19/2012 10:05 AM, David Sterba wrote:
On Thu, Jul 19, 2012 at 09:11:06AM +0800, Liu Bo wrote:
On 07/18/2012 07:57 PM, David Sterba wrote:
On Mon, Jul 16, 2012 at 02:05:25PM -0400, Liu Bo wrote:
v2-v3: adopt kernel native pagevec instead of kmalloc.
Do we really use the pagevec
From: Zhou Bo zhoub-f...@cn.fujitsu.com
This patch adds more cases in 254 for testing btrfs snapshot.
Signed-off-by: Zhou Bo zhoub-f...@cn.fujitsu.com
---
254 | 321 ++-
1 files changed, 317 insertions(+), 4 deletions(-)
diff
From: Zhou Bo zhoub-f...@cn.fujitsu.com
This patch adds more cases in 254 for testing btrfs snapshot.
Signed-off-by: Zhou Bo zhoub-f...@cn.fujitsu.com
---
254 | 321 ++-
1 files changed, 317 insertions(+), 4 deletions(-)
diff
Please ignore this...I forgot to CC xfs, sorry.
thanks,
liubo
On 07/19/2012 05:24 PM, Liu Bo wrote:
From: Zhou Bo zhoub-f...@cn.fujitsu.com
This patch adds more cases in 254 for testing btrfs snapshot.
Signed-off-by: Zhou Bo zhoub-f...@cn.fujitsu.com
---
254 | 321
On 07/20/2012 08:24 AM, Dave Chinner wrote:
On Thu, Jul 19, 2012 at 06:27:07PM +0800, Liu Bo wrote:
From: Zhou Bo zhoub-f...@cn.fujitsu.com
This patch adds more cases in 254 for testing btrfs snapshot.
Signed-off-by: Zhou Bo zhoub-f...@cn.fujitsu.com
I think it is better to create a new
On 07/20/2012 11:36 AM, David Sterba wrote:
On Thu, Jul 19, 2012 at 10:31:05AM +0800, Liu Bo wrote:
128 is too much, this would snip 128 * 8 = 1K off the stack.
That's why I give up 128. :)
It's good as a reference point, nobody says it should stay at 128.
But as Chris suggested, my test
/
[READ]
filename=foobar
size=2000M
invalidate=1
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
v3-v4: adopt a simple page array instead of pagevec to avoid side effect
that may be brought by pagevec_release().
v2-v3: adopt kernel native pagevec instead of kmalloc.
v1-v2: if we fail
On 07/21/2012 02:42 AM, Zach Brown wrote:
+struct page *page;
+int i = 0;
+int nr = 0;
i doesn't need to be initialized.
for (page_idx = 0; page_idx nr_pages; page_idx++) {
-struct page *page = list_entry(pages-prev, struct page, lru);
+page =
/
[READ]
filename=foobar
size=2000M
invalidate=1
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
v4-v5: avoid another ref inc on page.
v3-v4: adopt a simple page array instead of pagevec to avoid side effect
that may be brought by pagevec_release().
v2-v3: adopt kernel native pagevec
From: Zhou Bo zhoub-f...@cn.fujitsu.com
This patch adds btrfs snapshot function test to xfstests.
Signed-off-by: Zhou Bo zhoub-f...@cn.fujitsu.com
---
285 | 365 +++
285.out |2 +
group |1 +
3 files changed, 368
Btrfs's subvolume/snapshot is limited to
[BTRFS_FIRST_FREE_OBJECTID, BTRFS_LAST_FREE_OBJECTID], so just apply the range.
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
btrfs-list.c |6 --
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/btrfs-list.c b/btrfs-list.c
index
This adds the ability to show root's generation when we use btrfs subvol list.
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
btrfs-list.c | 61 -
1 files changed, 55 insertions(+), 6 deletions(-)
diff --git a/btrfs-list.c b/btrfs
changes on invalidatepage() and rebase to the latest btrfs
upstream.
Liu Bo (6):
Btrfs: merge adjacent states as much as possible
Btrfs: add helper function to test if we can merge state
Btrfs: break clear_state_bit into two parts
Btrfs: apply rwlock for extent state
Btrfs: batch
.
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
fs/btrfs/extent_io.c | 22 ++
1 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
index 4c6dd85..a84d904 100644
--- a/fs/btrfs/extent_io.c
+++ b/fs/btrfs/extent_io.c
In order to reduce write locks, we do merge_state as much as much as possible.
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
fs/btrfs/extent_io.c | 47 +++
1 files changed, 27 insertions(+), 20 deletions(-)
diff --git a/fs/btrfs/extent_io.c b
This is a helper function to test if two states are adjacent.
It is used for applying rwlock for extent state.
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
fs/btrfs/extent_io.c | 27 +++
1 files changed, 27 insertions(+), 0 deletions(-)
diff --git a/fs/btrfs
means that we don't need to acquire the write
locks unless we start to process batched merges.
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
fs/btrfs/extent_io.c | 37 -
fs/btrfs/extent_io.h |1 +
2 files changed, 33 insertions(+), 5 deletions(-)
diff
.
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
fs/btrfs/extent_io.c | 320 +++---
fs/btrfs/extent_io.h |3 +-
2 files changed, 277 insertions(+), 46 deletions(-)
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
index a84d904..842a4e5
This is the second part of parallel endios for read.
Here we use an async helper thread to process batched merges, so we
eventually get endio for read to avoid acquiring or holding any
write locks of extent state tree.
Signed-off-by: Liu Bo liubo2...@cn.fujitsu.com
---
fs/btrfs/ctree.h
On 07/25/2012 06:41 PM, Guenther Rasch wrote:
Hi!
I'm writing my bsc thesis about btrfs and I'm analyzing the
btrfs metadata structure at the moment.
I'm using fedora 17 with kernel 3.4 and btrfs-prog from your
git-repository. For an overview I use btrfs-debug-tree and
here are my
On 07/30/2012 03:56 PM, Florian Lindner wrote:
Hey!
I recently starting playing with btrfs and subvolume, but it has left
me puzzled:
Distribution is Archlinux, Kernel is 3.4.6.
root@horus /mnt # mkfs.btrfs -L test /dev/sdb1
WARNING! - Btrfs Btrfs v0.19 IS EXPERIMENTAL
WARNING! - see
On 07/31/2012 03:55 AM, Kyle Gates wrote:
I have a 3 disk raid1 filesystem mounted with nodatacow. I have a
folder in said filesystem with the 'C' NOCOW 'Z' Not_Compressed
flags set for good measure. I then copy in a large file and proceed to
make random modifications. Filefrag shows no
On 07/31/2012 12:35 PM, Kyle Gates wrote:
On Mon, Jul 30, 2012 at 9:00 PM, Liu Bo liubo2...@cn.fujitsu.com wrote:
On 07/31/2012 03:55 AM, Kyle Gates wrote:
I have a 3 disk raid1 filesystem mounted with nodatacow. I have a
folder in said filesystem with the 'C' NOCOW 'Z' Not_Compressed
301 - 400 of 2439 matches
Mail list logo