On 02/13/2017 12:26 PM, Martin Mlynář wrote:
>
> I've currently run into strange problem with BTRFS. I'm using it as my
> daily driver as root FS. Nothing complicated, just few subvolumes and
> incremental backups using btrbk.
>
> Now I've noticed that my btrfs root volume (absolute top, ID 5)
On 13.2.2017 21:03, Hans van Kranenburg wrote:
On 02/13/2017 12:26 PM, Martin Mlynář wrote:
I've currently run into strange problem with BTRFS. I'm using it as my
daily driver as root FS. Nothing complicated, just few subvolumes and
incremental backups using btrbk.
Now I've noticed that my
Hi,
On 02/13/2017 09:50 PM, Martin Mlynář wrote:
> On 13.2.2017 21:03, Hans van Kranenburg wrote:
>> On 02/13/2017 12:26 PM, Martin Mlynář wrote:
>>> I've currently run into strange problem with BTRFS. I'm using it as my
>>> daily driver as root FS. Nothing complicated, just few subvolumes and
This puts '&&' on the first line of if statement.
Signed-off-by: Liu Bo
---
fs/btrfs/extent-tree.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index 6832047..4cf332c 100644
---
On Mon, Feb 13, 2017 at 10:33:24AM +0100, David Sterba wrote:
> Never used in that function.
There is already one,
https://patchwork.kernel.org/patch/9546079/
Thanks,
-liubo
>
> Signed-off-by: David Sterba
> ---
> fs/btrfs/ctree.c | 10 +-
> 1 file changed, 5
From: Goldwyn Rodrigues
Return EAGAIN if any of the following checks fail
+ i_rwsem is lockable
+ NODATACOW or PREALLOC is set
+ Can nocow at the desired location
+ Writing beyond end of file
Signed-off-by: Goldwyn Rodrigues
---
fs/btrfs/file.c | 25
On Mon, Feb 13, 2017 at 10:33:36AM +0100, David Sterba wrote:
> The barriers are handled by the caller.
>
Reviewed-by: Liu Bo
Thanks,
-liubo
> Signed-off-by: David Sterba
> ---
> fs/btrfs/disk-io.c | 6 +++---
> 1 file changed, 3 insertions(+), 3
On Mon, Feb 13, 2017 at 10:33:55AM +0100, David Sterba wrote:
> None of the checks need to know the RO/RW status.
>
OK...there was a readonly check, which lets us skip all checks,
it was removed by the below commit, should we add the check back?
commit 1104a8855109a4051d74977f819a13b4516aa11e
Forgot to mention:
btrfs inspect-internal dump-super -af /dev/sdc
btrfs inspect-internal: unknown token 'dump-super'
usage: btrfs inspect-internal
btrfs inspect-internal inode-resolve [-v]
Get file system paths for the given inode
btrfs inspect-internal logical-resolve [-Pv]
When balance(relocation) fails, btrfs-progs will report like:
ERROR: error during balancing '/mnt/scratch': Input/output error
There may be more info in syslog - try dmesg | tail
However kernel can't provide may useful info in many cases to locate the
problem.
This patch will add error messages
At 02/14/2017 08:59 AM, Liu Bo wrote:
On Mon, Feb 13, 2017 at 10:33:24AM +0100, David Sterba wrote:
Never used in that function.
There is already one,
https://patchwork.kernel.org/patch/9546079/
Hi Liu,
That patch seems to remove @trans, while this is to remove @time_seq.
Or did I missed
As 0 refers to an existing type BTRFS_ORDERED_IO_DONE, this specifies a
new type 'REGULAR' for regular IO.
Signed-off-by: Liu Bo
---
This fixes the problem in the patch
"[PATCH] Btrfs: create a helper to create em for IO".
fs/btrfs/inode.c| 8
On Mon, Feb 13, 2017 at 03:26:27PM +0800, Qu Wenruo wrote:
> When balance(relocation) fails, btrfs-progs will report like:
>
> ERROR: error during balancing '/mnt/scratch': Input/output error
> There may be more info in syslog - try dmesg | tail
>
> However in some case, for example debugging
Yeah, thank you for suggestion. Bcache is what I actually use right now.
However it's concept is different, operating at block/bucket level and requires
another (underlying!) layer.
06.02.2017, 01:27, "Kai Krakow" :
> Am Mon, 06 Feb 2017 00:42:01 +0300
> schrieb Alexander
This uses a helper instead of open code around used byte of space_info
everywhere.
Signed-off-by: Liu Bo
---
fs/btrfs/extent-tree.c | 42 --
1 file changed, 20 insertions(+), 22 deletions(-)
diff --git a/fs/btrfs/extent-tree.c
We don't need to take the lock if the block group has not been cached.
Signed-off-by: Liu Bo
---
fs/btrfs/extent-tree.c | 23 ---
1 file changed, 12 insertions(+), 11 deletions(-)
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index
At 02/14/2017 08:23 AM, Tomasz Kusmierz wrote:
Forgot to mention:
btrfs inspect-internal dump-super -af /dev/sdc
Your btrfs-progs is somewhat old, which doesn't integrate dump super
into inspect-internal.
In that case, you can use btrfs-show-super -af instead.
Thanks,
Qu
btrfs
On Tue, Feb 14, 2017 at 09:03:49AM +0800, Qu Wenruo wrote:
>
>
> At 02/14/2017 08:59 AM, Liu Bo wrote:
> > On Mon, Feb 13, 2017 at 10:33:24AM +0100, David Sterba wrote:
> > > Never used in that function.
> >
> > There is already one,
> > https://patchwork.kernel.org/patch/9546079/
>
> Hi Liu,
Thank you. Interesting.
At least it's possible to implement in theory.
Though, this way metadata-only device is still handled like a casual btrfs
device and not distinguished separately from normal data+metadata devices.
06.02.2017, 02:54, "Roman Mamedov" :
> On Sun, 5 Feb 2017
I've spotted some cleanup-ready code while going through the file, so here it
is. There are no changes to the core qgoups code, just the support and
framework code. For 4.11.
David Sterba (7):
btrfs: qgroups: make __del_qgroup_relation static
btrfs: ulist: make the finalization
Make ulist_fini externally visible so the ulist API is complete.
Signed-off-by: David Sterba
---
fs/btrfs/ulist.c | 2 +-
fs/btrfs/ulist.h | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/fs/btrfs/ulist.c b/fs/btrfs/ulist.c
index b1434bb57e36..5deee56434fc
We can embed range_changed to the extent changeset to address following
problems:
- no need to allocate ulist dynamically, we also get rid of the GFP_NOFS
for free
- fix lack of allocation failure checking in btrfs_qgroup_reserve_data
The stack consuption where extent_changeset is used
Status of quotas should be the first check in
btrfs_qgroup_account_extent and we can return immediatelly, no need to
do no-op ulist frees.
Signed-off-by: David Sterba
---
fs/btrfs/qgroup.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git
There was never need for RCU protection around reading nodesize or other
fairly constant filesystem data.
Signed-off-by: David Sterba
---
fs/btrfs/qgroup.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
index
The helper name is not too helpful and is just wrapping a simple call.
Signed-off-by: David Sterba
---
fs/btrfs/qgroup.c | 18 +-
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
index
The quota status used to be tracked as a variable, so the mutex was
needed (until "Btrfs: add a flags field to btrfs_fs_info" afcdd129e05a9).
Since the status is a bit modified atomically and we don't hold the
mutex beyond the check, we can drop it.
Signed-off-by: David Sterba
Problem is to send a larger log into this mailing list :/
Anyway: uname -a
Linux tevva-server 4.8.7-1.el7.elrepo.x86_64 #1 SMP Thu Nov 10
20:47:24 EST 2016 x86_64 x86_64 x86_64 GNU/Linux
cut from messages (bear in mind that this is a single cut with a bit
cut from inside of it to fit it in the
Internal helper.
Signed-off-by: David Sterba
---
fs/btrfs/qgroup.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
index 8496dbf3f38b..971701328229 100644
--- a/fs/btrfs/qgroup.c
+++ b/fs/btrfs/qgroup.c
@@ -1223,7
Never used.
Signed-off-by: David Sterba
---
fs/btrfs/inode.c | 6 ++
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 7ed693294498..3ac7474f921d 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -1961,8 +1961,7
The name parameters have never been used, as the name is passed via the
dentry.
Signed-off-by: David Sterba
---
fs/btrfs/ioctl.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index e8c7c313c113..91188a2ac5a1 100644
Never used for anything meaningful since we have our own superblock
filler.
Signed-off-by: David Sterba
---
fs/btrfs/super.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c
index 93ed29c2a38b..da687dc79cce 100644
---
After the page locking has been reworked, we get all pages prepared via
cmp_pages.
Signed-off-by: David Sterba
---
fs/btrfs/ioctl.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index 91188a2ac5a1..1f13f8416d29
Not needed.
Signed-off-by: David Sterba
---
fs/btrfs/ctree.c | 6 ++
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c
index a981c2acd6fa..1192bc7d2ee7 100644
--- a/fs/btrfs/ctree.c
+++ b/fs/btrfs/ctree.c
@@ -5256,8 +5256,7
Never used.
Signed-off-by: David Sterba
---
fs/btrfs/backref.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/fs/btrfs/backref.c b/fs/btrfs/backref.c
index db706595e631..7699e16784d3 100644
--- a/fs/btrfs/backref.c
+++ b/fs/btrfs/backref.c
@@ -956,8
This used to hold number of maximum pages to allocate, but this is now
limited by BIO_MAX_PAGES.
Signed-off-by: David Sterba
---
fs/btrfs/extent_io.c | 7 +++
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
index
Unused since long ago.
Signed-off-by: David Sterba
---
fs/btrfs/ctree.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c
index 4c5d7c40c8bf..2283f92b5484 100644
--- a/fs/btrfs/ctree.c
+++ b/fs/btrfs/ctree.c
@@ -3595,8
Never used.
Signed-off-by: David Sterba
---
fs/btrfs/scrub.c | 10 +++---
1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/fs/btrfs/scrub.c b/fs/btrfs/scrub.c
index 9a94670536a6..f7dffacf61fa 100644
--- a/fs/btrfs/scrub.c
+++ b/fs/btrfs/scrub.c
@@ -282,9
Never used.
Signed-off-by: David Sterba
---
fs/btrfs/ioctl.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index 1f13f8416d29..b9e6f8a4f760 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -3383,8 +3383,7 @@
bitmap_list is unused since the io_ctl framework.
Signed-off-by: David Sterba
---
fs/btrfs/free-space-cache.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/fs/btrfs/free-space-cache.c b/fs/btrfs/free-space-cache.c
index 437580e84d9d..0d02599d22bc
Added but never used.
Signed-off-by: David Sterba
---
fs/btrfs/ctree.h | 3 +--
fs/btrfs/extent-tree.c | 3 +--
fs/btrfs/transaction.c | 2 +-
3 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index
Never needed.
Signed-off-by: David Sterba
---
fs/btrfs/ctree.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c
index b98e90a3eee7..a981c2acd6fa 100644
--- a/fs/btrfs/ctree.c
+++ b/fs/btrfs/ctree.c
@@ -5241,7 +5241,7
Both unused after the call to update_cache_item has been moved to
__btrfs_wait_cache_io.
Signed-off-by: David Sterba
---
fs/btrfs/free-space-cache.c | 11 +++
1 file changed, 3 insertions(+), 8 deletions(-)
diff --git a/fs/btrfs/free-space-cache.c
None of the checks need to know the RO/RW status.
Signed-off-by: David Sterba
---
fs/btrfs/disk-io.c | 8 +++-
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index 441a62cd0351..2b06f557c176 100644
---
Never used.
Signed-off-by: David Sterba
---
fs/btrfs/qgroup.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
index 6d106e623604..4ef513a392a7 100644
--- a/fs/btrfs/qgroup.c
+++ b/fs/btrfs/qgroup.c
@@ -1589,8
Unused since the helper has been split, eb used in the caller.
Signed-off-by: David Sterba
---
fs/btrfs/tree-log.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c
index 62dd138018b5..3806853cde08 100644
---
Never used in that function.
Signed-off-by: David Sterba
---
fs/btrfs/ctree.c | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c
index fbeff20eb194..35e22349c139 100644
--- a/fs/btrfs/ctree.c
+++
Added but never used.
Signed-off-by: David Sterba
---
fs/btrfs/disk-io.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index 18004169552c..89cd597883fd 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@
The barriers are handled by the caller.
Signed-off-by: David Sterba
---
fs/btrfs/disk-io.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index 48846d215e97..43e71457c193 100644
--- a/fs/btrfs/disk-io.c
+++
The 'device' used to be added in that function, but now it's done by the
caller.
Signed-off-by: David Sterba
---
fs/btrfs/volumes.c | 8 +++-
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index
Unused since qgroup refactoring that split data and metadata accounting,
the btrfs_qgroup_free helper.
Signed-off-by: David Sterba
---
fs/btrfs/ctree.h | 3 +--
fs/btrfs/extent-tree.c | 3 +--
fs/btrfs/ioctl.c | 11 ---
3 files changed, 6 insertions(+),
write_all_supers and write_ctree_super are almost equal, the parameter
'trans' is unused so we can drop it and have just one helper.
Signed-off-by: David Sterba
---
fs/btrfs/disk-io.c | 8 +---
fs/btrfs/disk-io.h | 3 +--
fs/btrfs/transaction.c | 2 +-
Added but never needed.
Signed-off-by: David Sterba
---
fs/btrfs/ctree.c | 16
fs/btrfs/disk-io.c | 3 +--
fs/btrfs/disk-io.h | 3 +--
fs/btrfs/extent-tree.c | 4 ++--
fs/btrfs/free-space-tree.c | 2 +-
fs/btrfs/qgroup.c
The logic has been updated in "Btrfs: make mapping->writeback_index
point to the last written page" (a91326679f2a0a4c2) and page is not
needed anymore.
Signed-off-by: David Sterba
---
fs/btrfs/extent_io.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff
The 'tree' was used to call locking hook that does not exist anymore.
Signed-off-by: David Sterba
---
fs/btrfs/extent_io.c | 6 ++
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
index f683fa5a4b91..22a2f2fa62c7
Never used.
Signed-off-by: David Sterba
---
fs/btrfs/ctree.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c
index d509dafdb20c..4c5d7c40c8bf 100644
--- a/fs/btrfs/ctree.c
+++ b/fs/btrfs/ctree.c
@@ -4413,8 +4413,7 @@
Unused since long ago.
Signed-off-by: David Sterba
---
fs/btrfs/ctree.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c
index 2283f92b5484..b98e90a3eee7 100644
--- a/fs/btrfs/ctree.c
+++ b/fs/btrfs/ctree.c
@@ -3825,8
There are quite a few places where function parameters are unused and there's
no reason to keep them. The notable exceptions are callbacks that must match a
given prototype. There are several cases where the parameter has not been
removed after refactoring or other changes, but I'm more
W dniu 2017-02-13 o 13:44 PM, Austin S. Hemmelgarn pisze:
> On 2017-02-09 22:58, Andrei Borzenkov wrote:
>> 07.02.2017 23:47, Austin S. Hemmelgarn пишет:
>> ...
>>> Sadly, freezefs (the generic interface based off of xfs_freeze) only
>>> works for block device snapshots. Filesystem level
We do a readahead of the free space cache inode to speed things up but
the failure is not fatal, like in other readahead cases. Proper reads
would need to happen anyway and any errors would be caught there.
Signed-off-by: David Sterba
---
fs/btrfs/free-space-cache.c | 10
Hello,
I've currently run into strange problem with BTRFS. I'm using it as my
daily driver as root FS. Nothing complicated, just few subvolumes and
incremental backups using btrbk.
Now I've noticed that my btrfs root volume (absolute top, ID 5) is in
"deleting" state. As I've done some
Hi,
I want to highlight this bug another time.
I encountered this bug, when I was looking to a problem with find. I my machine
find took an huge quantity of memory (up to 3GB) when used by updatedb.
http://lists.gnu.org/archive/html/findutils-patches/2016-12/msg0.html
The root of
On 2017-02-09 22:58, Andrei Borzenkov wrote:
07.02.2017 23:47, Austin S. Hemmelgarn пишет:
...
Sadly, freezefs (the generic interface based off of xfs_freeze) only
works for block device snapshots. Filesystem level snapshots need the
application software to sync all it's data and then stop
On 2017-02-10 09:21, Peter Zaitsev wrote:
Hi,
As I have been reading btrfs whitepaper it speaks about autodefrag in very
generic terms - once random write in the file is detected it is put in the
queue to be defragmented. Yet I could not find any specifics about this
process described
The qgroup config is read during mount, we do not have to use NOFS.
Signed-off-by: David Sterba
---
fs/btrfs/qgroup.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
index 8496dbf3f38b..cdd0a16bf469 100644
---
We don't need to use GFP_NOFS here as this is called from ioctls an the
only lock held is the subvol_sem, which is of a high level and protects
creation/renames/deletion and is never held in the writeout paths.
Signed-off-by: David Sterba
---
fs/btrfs/ioctl.c | 4 ++--
1 file
A few more conversions to less strict allocation flags, calls originating from
an ioctl and with no chance of getting back with a lock already held. For 4.11.
The following changes since commit 2e94257a41fece589dc4bd737c70dc770e9040ef:
btrfs: Better csum error message for data csum mismatch
Qgroup relations are added/deleted from ioctl, we hold the high level
qgroup lock, no deadlocks or recursion from the allocation possible
here.
Signed-off-by: David Sterba
---
fs/btrfs/qgroup.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git
We don't need to use GFP_NOFS here as this is called from ioctls an the
only lock held is the subvol_sem, which is of a high level and protects
creation/renames/deletion and is never held in the writeout paths.
Signed-off-by: David Sterba
---
fs/btrfs/qgroup.c | 2 +-
1 file
68 matches
Mail list logo