On Wed, Feb 11, 2015 at 08:46:24AM +0800, Qu Wenruo wrote:
Same thing as clang cleanup patch:
commit 040b3f11ba6bd793a9ef79ed4d9032d22370
Author: Qu Wenruo quwen...@cn.fujitsu.com
Date: Fri Dec 19 14:13:08 2014 +0800
btrfs-progs: Makefile: Move linker only option to LDFLAGS
But
On Wed, Feb 11, 2015 at 08:33:03AM +0800, Qu Wenruo wrote:
Also, since only 2 patches is modified(although other part is slightly
modified to match the change), to avoid mail bombing, I created the pull
request on github and only send the first 2 patches with cover-letter.
On Wed, Feb 11, 2015 at 10:02:14AM +0800, Qu Wenruo wrote:
There are 2 known extent buffer:
Oh, a small typo: 2 known extent buffer leak:, missing the word leak.
Fixed and applied, thanks.
--
To unsubscribe from this list: send the line unsubscribe linux-btrfs in
the body of a message to
On Mon, Feb 09, 2015 at 07:56:24AM +0800, Anand Jain wrote:
This adds an enhancement to show the seed fsid and devices.
The way sprouting handles fs_devices:
clone seed fs_devices and add to the fs_uuids
mem copy seed fs_devices and assign to fs_devices-seed (move dev_list)
On Mon, Feb 09, 2015 at 07:56:01AM +0800, Anand Jain wrote:
This patch set will provide a framework and help to create attributes
from the structure btrfs_fs_devices which are available even before
fs_info is created. So by moving the parent kobject super_kobj from
fs_info to btrfs_fs_devices,
On Mon, Feb 09, 2015 at 04:24:12PM +0800, Qu Wenruo wrote:
This tests are not even not bind to btrfs-progs.
They are kernel tests in fact.
So btrfs-progs isn't the best place for it.
Well, I agree. Userspace tools mostly exercise the checker, repair or
image, ie. mostly offline actions. The
Hmm, it looks like it is getting worse... Here are some parts of my
syslog, including two crashed btrfs-threads:
So I am still getting many of these:
BTRFS (device dm-5): parent transid verify failed on 25033166798848 wanted
108976 found 108958
BTRFS warning (device dm-5): page private not
On our gluster boxes we stream large tar balls of backups onto our fses. With
160gb of ram this means we get really large contiguous ranges of dirty data, but
the way our ENOSPC stuff works is that as long as it's contiguous we only hold
metadata reservation for one extent. The problem is we
We do this to get the space accounting, but this is just needless churn on the
io_tree, so just drop setting/clearing delalloc and just drop the reserved data
space when we have a successfull allocation. Thanks,
Signed-off-by: Josef Bacik jba...@fb.com
---
fs/btrfs/inode.c | 8 ++--
1 file
We have this weird dance where we always inc outstanding_extents when we do a
O_DIRECT write, even if we allocate the entire range. To get around this we
also drop the metadata space if we successfully write. This is an unnecessary
dance, we only need to jack up outstanding_extents if we don't
On 02/11/2015 05:01 AM, Zhaolei wrote:
From: Zhao Lei zhao...@cn.fujitsu.com
Btrfs will report NO_SPACE when we create and remove files for several times,
and we can't write to filesystem until mount it again.
Steps to reproduce:
1: Create a single-dev btrfs fs with default option
2: Write
On 02/12/2015 02:40 AM, David Sterba wrote:
On Mon, Feb 09, 2015 at 07:56:23AM +0800, Anand Jain wrote:
Signed-off-by: Anand Jain anand.j...@oracle.com
---
fs/btrfs/volumes.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index
On Wed, Feb 11, 2015 at 03:08:59PM -0500, Josef Bacik wrote:
On our gluster boxes we stream large tar balls of backups onto our fses. With
160gb of ram this means we get really large contiguous ranges of dirty data,
but
the way our ENOSPC stuff works is that as long as it's contiguous we
On Wed, Feb 11, 2015 at 03:08:58PM -0500, Josef Bacik wrote:
We do this to get the space accounting, but this is just needless churn on the
io_tree, so just drop setting/clearing delalloc and just drop the reserved
data
space when we have a successfull allocation. Thanks,
Looks good.
drivers/cpufreq/cpufreq.c is already using this function. And now btrfs
needs it as well. export symbol kobject_move().
Signed-off-by: Anand Jain anand.j...@oracle.com
---
v1-v2: Didn't notice there wasn't my signed-off, now added. Thanks Dave.
lib/kobject.c | 1 +
1 file changed, 1
From: Zhao Lei zhao...@cn.fujitsu.com
1: Remove unused DEFINE_WAIT(wait)
2: Add likely() for BTRFS_FS_STATE_DEV_REPLACING condition
3: Use a loop instead of goto
Changelog v1-v2:
s/look/loop in description.
Signed-off-by: Zhao Lei zhao...@cn.fujitsu.com
---
fs/btrfs/dev-replace.c | 12
From: Anand Jain anand.j...@oracle.com
The sysfs clean up self test like in the below code fails, since
fs_info-device_dir_kobject still points to its stale kobject.
Reseting this pointer will help to fix this.
open_ctree()
{
ret = btrfs_sysfs_add_one(fs_info);
::
+
From: Anand Jain anand.j...@oracle.com
This patch will provide a framework and help to create attributes
from the structure btrfs_fs_devices which are available even before
fs_info is created. So by moving the parent kobject super_kobj from
fs_info to btrfs_fs_devices, it will help to create
From: Anand Jain anand.j...@oracle.com
adds fs_info pointer with struct btrfs_fs_devices.
Signed-off-by: Anand Jain anand.j...@oracle.com
---
fs/btrfs/sysfs.c | 4
fs/btrfs/volumes.h | 1 +
2 files changed, 5 insertions(+)
diff --git a/fs/btrfs/sysfs.c b/fs/btrfs/sysfs.c
index
From: Anand Jain anand.j...@oracle.com
As of now btrfs_attrs are provided using the default_attrs through
the kset. Separate them and create the default_attrs using the
sysfs_create_files instead. By doing this we will have the
flexibility that device discovery thread could create fsid
kobject.
From: Anand Jain anand.j...@oracle.com
The following test case fails indicating that, thread tried to init an
initialized object.
kernel: [232104.016513] kobject (880006c1c980): tried to init an
initialized object, something is seriously wrong.
btrfs_sysfs_remove_one() self test code:
From: Anand Jain anand.j...@oracle.com
Theoritically need to remove the device links attributes, but since its entire
device
kobject was removed, so there wasn't any issue of about it. Just do it nicely.
Signed-off-by: Anand Jain anand.j...@oracle.com
---
fs/btrfs/sysfs.c | 17
Signed-off-by: Anand Jain anand.j...@oracle.com
---
fs/btrfs/sysfs.c | 17 -
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/fs/btrfs/sysfs.c b/fs/btrfs/sysfs.c
index 4b5bac6..83d7535 100644
--- a/fs/btrfs/sysfs.c
+++ b/fs/btrfs/sysfs.c
@@ -515,7 +515,7 @@ static int
From: Zhao Lei zhao...@cn.fujitsu.com
Btrfs will report NO_SPACE when we create and remove files for several times,
and we can't write to filesystem until mount it again.
Steps to reproduce:
1: Create a single-dev btrfs fs with default option
2: Write a file into it to take up most fs space
I can confirm that Liu's aforementioned patch made the filesystem
accessible again.
Thanks for your help.
J.
2015-02-09 6:05 GMT+01:00 Qu Wenruo quwen...@cn.fujitsu.com:
Original Message
Subject: kernel BUG at /home/apw/COD/linux/fs/btrfs/inode.c:3123
From: Jeroen Van
From: Zhao Lei zhao...@cn.fujitsu.com
Btrfs will report NO_SPACE when we create and remove files for several times,
and we can't write to filesystem until mount it again.
Steps to reproduce:
1: Create a single-dev btrfs fs with default option
2: Write a file into it to take up most fs space
kfree checks whether the pointer it is passed is NULL. The two foregoing
checks are therefore unnecessary.
This issue was detected using Coccinelle.
Signed-off-by: Bas Peters baspeter...@gmail.com
---
fs/btrfs/free-space-cache.c | 6 ++
1 file changed, 2 insertions(+), 4 deletions(-)
diff
On Wed, 11 Feb 2015, Bas Peters wrote:
kfree checks whether the pointer it is passed is NULL. The two foregoing
checks are therefore unnecessary.
This issue was detected using Coccinelle.
Signed-off-by: Bas Peters baspeter...@gmail.com
---
fs/btrfs/free-space-cache.c | 6 ++
1
We try to lock a mutex while the current task state is not TASK_RUNNING,
which results in the following warning when CONFIG_DEBUG_LOCK_ALLOC=y:
[30736.772501] [ cut here ]
[30736.774545] WARNING: CPU: 9 PID: 19972 at kernel/sched/core.c:7300
__might_sleep+0x8b/0xa8()
kfree checks whether the pointer it is passed is NULL. The two foregoing
checks are therefore unnecessary.
This issue was detected using Coccinelle.
Would you like to integrate my update suggestion btrfs: Deletion of
unnecessary checks before six function calls?
2015-02-11 12:30 GMT+01:00 SF Markus Elfring elfr...@users.sourceforge.net:
kfree checks whether the pointer it is passed is NULL. The two foregoing
checks are therefore unnecessary.
This issue was detected using Coccinelle.
Would you like to integrate my update suggestion btrfs: Deletion of
Markus,
2015-02-11 13:18 GMT+01:00 SF Markus Elfring elfr...@users.sourceforge.net:
https://lkml.org/lkml/2014/10/31/606
http://article.gmane.org/gmane.linux.kernel/1818924
https://systeme.lip6.fr/pipermail/cocci/2014-October/001321.html
Oh, I see you already made the exact same change.
https://lkml.org/lkml/2014/10/31/606
http://article.gmane.org/gmane.linux.kernel/1818924
https://systeme.lip6.fr/pipermail/cocci/2014-October/001321.html
Oh, I see you already made the exact same change.
Would you like to add any tags to my update suggestion?
Regards,
Markus
--
To
On 2015-02-09 12:26, P. Remek wrote:
Hello,
I am benchmarking Btrfs and when benchmarking random writes with fio
utility, I noticed following two things:
Based on what I know about BTRFS, I think that these issues actually
have distinct causes.
1) On first run when target file doesn't exist
From: Zhao Lei zhao...@cn.fujitsu.com
Btrfs will report NO_SPACE when we create and remove files for several times,
and we can't write to filesystem until mount it again.
Steps to reproduce:
1: Create a single-dev btrfs fs with default option
2: Write a file into it to take up most fs space
Thanks for commenting. more below.
On 02/12/2015 02:52 AM, David Sterba wrote:
On Mon, Feb 09, 2015 at 07:56:24AM +0800, Anand Jain wrote:
This adds an enhancement to show the seed fsid and devices.
The way sprouting handles fs_devices:
clone seed fs_devices and add to the fs_uuids
From: Anand Jain anand.j...@oracle.com
(added RFC prefix to the patch header)
(as of now just an experimental interface)
This patch introduces profs interface /proc/fs/btrfs/devlist,
which as of now exports all the members of kernel fs_devices.
The current /sys/fs/btrfs interface works when the
An example is easy to understand so is below.
Output is in Python config reader module format,
just import of this output within a python script is enough.
Useful for
troubleshoot/debug,
storage based on btrfs to render info on their bui/gui and
further btrfs-progs could be very
Signed-off-by: Anand Jain anand.j...@oracle.com
---
fs/btrfs/procfs.c | 11 +++
1 file changed, 11 insertions(+)
diff --git a/fs/btrfs/procfs.c b/fs/btrfs/procfs.c
index 4aec759..0211aec 100644
--- a/fs/btrfs/procfs.c
+++ b/fs/btrfs/procfs.c
@@ -62,6 +62,17 @@ again_fs_devs:
Duncan 1i5t5.dun...@cox.net schrieb:
P. Remek posted on Tue, 10 Feb 2015 18:44:33 +0100 as excerpted:
In the test, I use --direct=1 parameter for fio which basically does
O_DIRECT on target file. The O_DIRECT should guarantee that the
filesystem cache is bypassed and IO is sent directly to
On Wed, Feb 11, 2015 at 03:08:57PM -0500, Josef Bacik wrote:
We have this weird dance where we always inc outstanding_extents when we do a
O_DIRECT write, even if we allocate the entire range. To get around this we
also drop the metadata space if we successfully write. This is an unnecessary
On Mon, Feb 09, 2015 at 06:26:49PM +0100, P. Remek wrote:
Hello,
I am benchmarking Btrfs and when benchmarking random writes with fio
utility, I noticed following two things:
1) On first run when target file doesn't exist yet, perfromance is
about 8000 IOPs. On second, and every other
since btrfs_kobj_rm_device() does nothing with fs_info
Signed-off-by: Anand Jain anand.j...@oracle.com
---
fs/btrfs/dev-replace.c | 2 +-
fs/btrfs/sysfs.c | 12 ++--
fs/btrfs/sysfs.h | 2 +-
fs/btrfs/volumes.c | 4 ++--
4 files changed, 10 insertions(+), 10
This patch will be useful when we have to change the context in which we create
and destroy sysfs fsid and device kobjects. But this is a good change to have
it,
as it just does the right thing in general.
Signed-off-by: Anand Jain anand.j...@oracle.com
---
v2-v3: add missing signed-off, update
Signed-off-by: Anand Jain anand.j...@oracle.com
---
fs/btrfs/disk-io.c | 18 +-
fs/btrfs/sysfs.c | 15 ++-
2 files changed, 19 insertions(+), 14 deletions(-)
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index 0cd6550..4b7f3b8 100644
--- a/fs/btrfs/disk-io.c
Signed-off-by: Anand Jain anand.j...@oracle.com
---
fs/btrfs/sysfs.c | 2 +-
fs/btrfs/sysfs.h | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/fs/btrfs/sysfs.c b/fs/btrfs/sysfs.c
index 4c86e62..2dbb064 100644
--- a/fs/btrfs/sysfs.c
+++ b/fs/btrfs/sysfs.c
@@ -727,7 +727,7 @@
This adds an enhancement to show the seed fsid and devices.
The way sprouting handles fs_devices:
clone seed fs_devices and add to the fs_uuids
mem copy seed fs_devices and assign to fs_devices-seed (move dev_list)
evacuate seed fs_devices contents to hold sprout fs devices
From: Anand Jain anand.j...@oracle.com
We need it in a seperate function so that it can be called from the
device discovery thread as well.
Signed-off-by: Anand Jain anand.j...@oracle.com
---
fs/btrfs/sysfs.c | 15 ++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git
From: Anand Jain anand.j...@oracle.com
Separate device kobject and its attribute creation so that device
kobject can be created from the device discovery thread.
Signed-off-by: Anand Jain anand.j...@oracle.com
---
fs/btrfs/sysfs.c | 21 +++--
1 file changed, 15 insertions(+), 6
Thanks for commenting. V3 is out. more below.
On 02/12/2015 03:01 AM, David Sterba wrote:
On Mon, Feb 09, 2015 at 07:56:01AM +0800, Anand Jain wrote:
This patch set will provide a framework and help to create attributes
from the structure btrfs_fs_devices which are available even before
Signed-off-by: Anand Jain anand.j...@oracle.com
---
fs/btrfs/sysfs.c | 2 +-
fs/btrfs/sysfs.h | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/fs/btrfs/sysfs.c b/fs/btrfs/sysfs.c
index 2dbb064..ff9e5f6 100644
--- a/fs/btrfs/sysfs.c
+++ b/fs/btrfs/sysfs.c
@@ -529,7 +529,7 @@
To support seed sysfs layout and represent seed fsid under
the sprout we need the facility to create fsid under the
specified parent.
Signed-off-by: Anand Jain anand.j...@oracle.com
---
v2-v3: added missing signed-off
v1-v2: does not exist
fs/btrfs/sysfs.c | 4 ++--
1 file changed, 2
Signed-off-by: Anand Jain anand.j...@oracle.com
---
fs/btrfs/volumes.c | 4
fs/btrfs/volumes.h | 1 +
2 files changed, 5 insertions(+)
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index 218a14a..c1b1038 100644
--- a/fs/btrfs/volumes.c
+++ b/fs/btrfs/volumes.c
@@ -52,6 +52,10 @@
Signed-off-by: Anand Jain anand.j...@oracle.com
---
fs/btrfs/sysfs.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/fs/btrfs/sysfs.h b/fs/btrfs/sysfs.h
index aaff124..ac06b5c 100644
--- a/fs/btrfs/sysfs.h
+++ b/fs/btrfs/sysfs.h
@@ -76,4 +76,5 @@ int btrfs_kobj_rm_device(struct
Signed-off-by: Anand Jain anand.j...@oracle.com
---
fs/btrfs/volumes.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index 51873ec..1490723 100644
--- a/fs/btrfs/volumes.c
+++ b/fs/btrfs/volumes.c
@@ -2249,7 +2249,8 @@ int
From: Anand Jain anand.j...@oracle.com
As of now the order in which the kobjects are created
at btrfs_sysfs_add_one() is..
fsid
features
unknown features (dynamic features)
devices.
Since we would move fsid and device kobject to fs_devices
from fs_info structure, this patch will reorder in
From: Anand Jain anand.j...@oracle.com
Signed-off-by: Anand Jain anand.j...@oracle.com
---
fs/btrfs/sysfs.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/fs/btrfs/sysfs.c b/fs/btrfs/sysfs.c
index c3e7f06..c923e8b 100644
--- a/fs/btrfs/sysfs.c
+++ b/fs/btrfs/sysfs.c
From: Zhao Lei zhao...@cn.fujitsu.com
wait_event() is just suit for these hand-made code.
Signed-off-by: Zhao Lei zhao...@cn.fujitsu.com
---
fs/btrfs/dev-replace.c | 13 ++---
1 file changed, 2 insertions(+), 11 deletions(-)
diff --git a/fs/btrfs/dev-replace.c b/fs/btrfs/dev-replace.c
From: Zhao Lei zhao...@cn.fujitsu.com
1: Remove unused DEFINE_WAIT(wait)
2: Add likely() for BTRFS_FS_STATE_DEV_REPLACING condition
3: Use a look instead of goto
Signed-off-by: Zhao Lei zhao...@cn.fujitsu.com
---
fs/btrfs/dev-replace.c | 12 ++--
1 file changed, 6 insertions(+), 6
From: Zhao Lei zhao...@cn.fujitsu.com
for() is obviously better in these code block, and remove noused
init-value to reduce about 6 bytes binary size.
Signed-off-by: Zhao Lei zhao...@cn.fujitsu.com
---
fs/btrfs/volumes.c | 9 +++--
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git
60 matches
Mail list logo