Re: kernel BUG at fs/btrfs/extent-tree.c:8113! (4.1.3 kernel)

2015-08-23 Thread Qu Wenruo



Marc MERLIN wrote on 2015/08/23 21:28 -0700:

On Mon, Aug 24, 2015 at 09:10:30AM +0800, Qu Wenruo wrote:

Would you please take the following output?

1) btrfs check output
With error message if it happens.


myth:~# btrfs check /dev/mapper/crypt_sdd1
Checking filesystem on /dev/mapper/crypt_sdd1
UUID: 024ba4d0-dacb-438d-9f1b-eeb34083fe49
checking extents
cmds-check.c:4486: add_data_backref: Assertion `back->bytes != max_size` failed.
btrfs[0x8066a73]
btrfs[0x8066aa4]
btrfs[0x8067991]
btrfs[0x806b4ab]
btrfs[0x806b9a3]
btrfs[0x806c5b2]
btrfs(cmd_check+0x1088)[0x806eddf]
btrfs(main+0x153)[0x80557c6]
/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0xb753a4d3]
btrfs[0x80557ec]


2) btrfs check --repair output
Full output until segfault.


myth:~# btrfs check --repair /dev/mapper/crypt_sdd1
enabling repair mode
Checking filesystem on /dev/mapper/crypt_sdd1
UUID: 024ba4d0-dacb-438d-9f1b-eeb34083fe49
checking extents
cmds-check.c:4486: add_data_backref: Assertion `back->bytes != max_size` failed.
btrfs[0x8066a73]
btrfs[0x8066aa4]
btrfs[0x8067991]
btrfs[0x806b4ab]
btrfs[0x806b9a3]
btrfs[0x806c5b2]
btrfs(cmd_check+0x1088)[0x806eddf]
btrfs(main+0x153)[0x80557c6]
/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0xb75114d3]
btrfs[0x80557ec]

Strangely I'm not getting a segfault anymore.


It seems that the tree block's backref has something wrong.




3) btrfs-debug-tree output
With assert output.


The full output is multi gigabyte. Do you need this and if so, do I need to
upload it somewhere and will you download the multi gigabyte file?

The errors and assert, I already posted here:


Sure thing:
btrfs-debug-tree /dev/mapper/crypt_sdd1 > /tmp/tree.out
parent transid verify failed on 2968115101696 wanted 34855 found 39533
parent transid verify failed on 2968115101696 wanted 34855 found 39533
parent transid verify failed on 2968115101696 wanted 34855 found 39533
parent transid verify failed on 2968115101696 wanted 34855 found 39533
Ignoring transid failure
parent transid verify failed on 2968115134464 wanted 34855 found 39533
parent transid verify failed on 2968115134464 wanted 34855 found 39533
parent transid verify failed on 2968115134464 wanted 34855 found 39533
parent transid verify failed on 2968115134464 wanted 34855 found 39533
Ignoring transid failure
parent transid verify failed on 2968115150848 wanted 34855 found 39533
parent transid verify failed on 2968115150848 wanted 34855 found 39533
parent transid verify failed on 2968115150848 wanted 34855 found 39533
parent transid verify failed on 2968115150848 wanted 34855 found 39533
Ignoring transid failure
parent transid verify failed on 2968115691520 wanted 34855 found 39533
parent transid verify failed on 2968115691520 wanted 34855 found 39533
parent transid verify failed on 2968115691520 wanted 34855 found 39533
parent transid verify failed on 2968115691520 wanted 34855 found 39533
Ignoring transid failure
parent transid verify failed on 1291597152256 wanted 35830 found 39530
parent transid verify failed on 1291597152256 wanted 35830 found 39530
parent transid verify failed on 1291597152256 wanted 35830 found 39530
parent transid verify failed on 1291597152256 wanted 35830 found 39530
Ignoring transid failure
parent transid verify failed on 2968116592640 wanted 34855 found 39533
parent transid verify failed on 2968116592640 wanted 34855 found 39533
parent transid verify failed on 2968116592640 wanted 34855 found 39533
parent transid verify failed on 2968116592640 wanted 34855 found 39533
Ignoring transid failure
parent transid verify failed on 2968116609024 wanted 34855 found 39533
parent transid verify failed on 2968116609024 wanted 34855 found 39533
parent transid verify failed on 2968116609024 wanted 34855 found 39533
parent transid verify failed on 2968116609024 wanted 34855 found 39533
Ignoring transid failure
print-tree.c:1094: btrfs_print_tree: Assertion failed.
btrfs-debug-tree[0x805ce93]
btrfs-debug-tree(btrfs_print_tree+0x26d)[0x805eb51]
btrfs-debug-tree(btrfs_print_tree+0x279)[0x805eb5d]
btrfs-debug-tree(main+0x8b5)[0x804dfb7]
/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0xb757c4d3]
btrfs-debug-tree[0x804e221]

Oh, sorry for ignoring the existing output.

And the last assert info should be enough. No need to upload it.

The b-tree seems to be hugely damaged, or at least one leaf tree block 
is referred by higher level node.

It maybe something wrong happened when level of a btree is reduced.

Normally, I have no idea on how to fix such huge problem in btrfsck.
But there is still some clue.

In your debug-tree output, the transid difference between wanted and 
found is quite huge. I suppose there would be a much much newer root 
tree, but not recorded in superblock.


So, my last bet will be, using "btrfs-find-root -a" to find the root 
with highest generation, and use the new root to exec "btrfsck -b 
".


The latest btrfs-find-root would output possible tree root by descending 
order of its generation. You'll find proper by

Re: kernel BUG at fs/btrfs/extent-tree.c:8113! (4.1.3 kernel)

2015-08-23 Thread Marc MERLIN
On Mon, Aug 24, 2015 at 09:10:30AM +0800, Qu Wenruo wrote:
> Would you please take the following output?
> 
> 1) btrfs check output
> With error message if it happens.
 
myth:~# btrfs check /dev/mapper/crypt_sdd1
Checking filesystem on /dev/mapper/crypt_sdd1
UUID: 024ba4d0-dacb-438d-9f1b-eeb34083fe49
checking extents
cmds-check.c:4486: add_data_backref: Assertion `back->bytes != max_size` failed.
btrfs[0x8066a73]
btrfs[0x8066aa4]
btrfs[0x8067991]
btrfs[0x806b4ab]
btrfs[0x806b9a3]
btrfs[0x806c5b2]
btrfs(cmd_check+0x1088)[0x806eddf]
btrfs(main+0x153)[0x80557c6]
/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0xb753a4d3]
btrfs[0x80557ec]

> 2) btrfs check --repair output
> Full output until segfault.
 
myth:~# btrfs check --repair /dev/mapper/crypt_sdd1
enabling repair mode
Checking filesystem on /dev/mapper/crypt_sdd1
UUID: 024ba4d0-dacb-438d-9f1b-eeb34083fe49
checking extents
cmds-check.c:4486: add_data_backref: Assertion `back->bytes != max_size` failed.
btrfs[0x8066a73]
btrfs[0x8066aa4]
btrfs[0x8067991]
btrfs[0x806b4ab]
btrfs[0x806b9a3]
btrfs[0x806c5b2]
btrfs(cmd_check+0x1088)[0x806eddf]
btrfs(main+0x153)[0x80557c6]
/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0xb75114d3]
btrfs[0x80557ec]

Strangely I'm not getting a segfault anymore.

> 3) btrfs-debug-tree output
> With assert output.
 
The full output is multi gigabyte. Do you need this and if so, do I need to
upload it somewhere and will you download the multi gigabyte file?

The errors and assert, I already posted here:

> >>Sure thing:
> >>btrfs-debug-tree /dev/mapper/crypt_sdd1 > /tmp/tree.out
> >>parent transid verify failed on 2968115101696 wanted 34855 found 39533
> >>parent transid verify failed on 2968115101696 wanted 34855 found 39533
> >>parent transid verify failed on 2968115101696 wanted 34855 found 39533
> >>parent transid verify failed on 2968115101696 wanted 34855 found 39533
> >>Ignoring transid failure
> >>parent transid verify failed on 2968115134464 wanted 34855 found 39533
> >>parent transid verify failed on 2968115134464 wanted 34855 found 39533
> >>parent transid verify failed on 2968115134464 wanted 34855 found 39533
> >>parent transid verify failed on 2968115134464 wanted 34855 found 39533
> >>Ignoring transid failure
> >>parent transid verify failed on 2968115150848 wanted 34855 found 39533
> >>parent transid verify failed on 2968115150848 wanted 34855 found 39533
> >>parent transid verify failed on 2968115150848 wanted 34855 found 39533
> >>parent transid verify failed on 2968115150848 wanted 34855 found 39533
> >>Ignoring transid failure
> >>parent transid verify failed on 2968115691520 wanted 34855 found 39533
> >>parent transid verify failed on 2968115691520 wanted 34855 found 39533
> >>parent transid verify failed on 2968115691520 wanted 34855 found 39533
> >>parent transid verify failed on 2968115691520 wanted 34855 found 39533
> >>Ignoring transid failure
> >>parent transid verify failed on 1291597152256 wanted 35830 found 39530
> >>parent transid verify failed on 1291597152256 wanted 35830 found 39530
> >>parent transid verify failed on 1291597152256 wanted 35830 found 39530
> >>parent transid verify failed on 1291597152256 wanted 35830 found 39530
> >>Ignoring transid failure
> >>parent transid verify failed on 2968116592640 wanted 34855 found 39533
> >>parent transid verify failed on 2968116592640 wanted 34855 found 39533
> >>parent transid verify failed on 2968116592640 wanted 34855 found 39533
> >>parent transid verify failed on 2968116592640 wanted 34855 found 39533
> >>Ignoring transid failure
> >>parent transid verify failed on 2968116609024 wanted 34855 found 39533
> >>parent transid verify failed on 2968116609024 wanted 34855 found 39533
> >>parent transid verify failed on 2968116609024 wanted 34855 found 39533
> >>parent transid verify failed on 2968116609024 wanted 34855 found 39533
> >>Ignoring transid failure
> >>print-tree.c:1094: btrfs_print_tree: Assertion failed.
> >>btrfs-debug-tree[0x805ce93]
> >>btrfs-debug-tree(btrfs_print_tree+0x26d)[0x805eb51]
> >>btrfs-debug-tree(btrfs_print_tree+0x279)[0x805eb5d]
> >>btrfs-debug-tree(main+0x8b5)[0x804dfb7]
> >>/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0xb757c4d3]
> >>btrfs-debug-tree[0x804e221]

Thanks,
Marc
-- 
"A mouse is a device used to point at the xterm you want to type in" - A.S.R.
Microsoft is to operating systems 
   what McDonalds is to gourmet cooking
Home page: http://marc.merlins.org/ | PGP 1024R/763BE901
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Newbie: RAID5 available space

2015-08-23 Thread Ivan
I'm trying out RAID5 to understand its space usage. First off, I've 3
devices of 2GB each, in RAID5. Old school RAID5 tells me I've 4GB of
usable space. Actual fact: I've about 3.5GB, until it tells me I'm out
of space. This is understandable, as Metadata and System took up some
space.

Next, I tried device add and remove.

My "common sense" tells me, I should be able to remove a device of
size equal or smaller than one I added. (isn't it simply move all
blocks from old device to new?)

So I proceeded to add a 4th device of 2GB, and remove the 2nd device (of 2GB).
btrfs device delete tells me I'm out of space. Why?

Here are my steps:
01. dd if=/dev/zero of=/root/btrfs-test-1 bs=1G count=2
02. losetup /dev/loop1 /root/btrfs-test-1
03. dd if=/dev/zero of=/root/btrfs-test-2 bs=1G count=2
04. losetup /dev/loop2 /root/btrfs-test-2
05. dd if=/dev/zero of=/root/btrfs-test-3 bs=1G count=2
06. losetup /dev/loop3 /root/btrfs-test-3
07. mkfs.btrfs --data raid5 --metadata raid5 --label testbtrfs2
--nodiscard -f /dev/loop1 /dev/loop2 /dev/loop3
08. mount /dev/loop2 /mnt/b
09. dd if=/dev/zero of=/mnt/b/test1g1 bs=1G count=1
10. dd if=/dev/zero of=/mnt/b/test1g2 bs=1G count=1
11. dd if=/dev/zero of=/mnt/b/test1g3 bs=1G count=1
12. dd if=/dev/zero of=/mnt/b/test512M1 bs=512M count=1
13. dd if=/dev/zero of=/root/btrfs-test-4 bs=1G count=2
14. losetup /dev/loop4 /root/btrfs-test-4
15. btrfs device add --nodiscard -f /dev/loop4 /mnt/b
16. btrfs device delete /dev/loop2 /mnt/b

My kernel is 4.0.5-gentoo, btrfs-progs is 4.0.1 from Gentoo.

AFTER adding /dev/loop4. As can be seen, /dev/loop4 has lots of space,
almost 2GB.
# btrfs device usage /mnt/b
/dev/loop1, ID: 1
   Device size: 2.00GiB
   Data,single: 8.00MiB
   Data,RAID5:  1.76GiB
   Data,RAID5: 10.50MiB
   Metadata,single: 8.00MiB
   Metadata,RAID5:204.75MiB
   System,single:   4.00MiB
   System,RAID5:8.00MiB
   Unallocated:   0.00B

/dev/loop2, ID: 2
   Device size: 2.00GiB
   Data,RAID5:  1.78GiB
   Data,RAID5: 10.50MiB
   Metadata,RAID5:204.75MiB
   System,RAID5:8.00MiB
   Unallocated: 1.00MiB

/dev/loop3, ID: 3
   Device size: 2.00GiB
   Data,RAID5:  1.78GiB
   Data,RAID5: 10.50MiB
   Metadata,RAID5:204.75MiB
   System,RAID5:8.00MiB
   Unallocated: 1.00MiB

/dev/loop4, ID: 4
   Device size: 2.00GiB
   Data,RAID5: 10.50MiB
   Data,RAID5: 19.00MiB
   Unallocated: 1.97GiB
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [GIT PULL] Fujitsu pull part1: cleanup

2015-08-23 Thread Anand Jain



Stefan,


Please send your patches to the mailing list for reviews by everybody.


  Do you see any patch below which wasn't posted to the mailing list. ?

Thanks, Anand



Qu Wenruo (1):
   btrfs: async_thread: Fix workqueue 'max_active' value when
 initializing

Tsutomu Itoh (1):
   Btrfs: cleanup: remove unnecessary check before btrfs_free_path is
 called

Zhao Lei (6):
   btrfs: Update out-of-date "skip parity stripe" comment
   btrfs: Remove noused chunk_tree and chunk_objectid from
 scrub_enumerate_chunks and scrub_chunk
   btrfs: Cleanup for btrfs_calc_num_tolerated_disk_barrier_failures
   btrfs: Add raid56 support for updating
 num_tolerated_disk_barrier_failures in btrfs_balance
   btrfs: Remove useless condition in start_log_trans
   btrfs: Remove unused arguments in tree-log.c




--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: kernel BUG at fs/btrfs/extent-tree.c:8113! (4.1.3 kernel)

2015-08-23 Thread Qu Wenruo



Marc MERLIN wrote on 2015/08/22 07:37 -0700:

On Mon, Aug 17, 2015 at 07:49:04AM -0700, Marc MERLIN wrote:

On Mon, Aug 17, 2015 at 10:01:16AM +0800, Qu Wenruo wrote:

Hi Marc,


Hi Qu, thanks for your answer and looking at this.


Did btrfs-debug-tree also has the crash?

If not, would you please attach the output if it doesn't contain
classified data.


Do you need anything else before I wipe the filesystem and start over?

1) kernel is fixed not to crash
2) btrfs check --repair segfaults
3) btrfs-debug-tree ends with assert

Thanks,
Marc


Would you please take the following output?

1) btrfs check output
With error message if it happens.

2) btrfs check --repair output
Full output until segfault.

3) btrfs-debug-tree output
With assert output.

At least this should help us to figure out what's wrong with on-disk data.

Thanks,
Qu




Sure thing:
btrfs-debug-tree /dev/mapper/crypt_sdd1 > /tmp/tree.out
parent transid verify failed on 2968115101696 wanted 34855 found 39533
parent transid verify failed on 2968115101696 wanted 34855 found 39533
parent transid verify failed on 2968115101696 wanted 34855 found 39533
parent transid verify failed on 2968115101696 wanted 34855 found 39533
Ignoring transid failure
parent transid verify failed on 2968115134464 wanted 34855 found 39533
parent transid verify failed on 2968115134464 wanted 34855 found 39533
parent transid verify failed on 2968115134464 wanted 34855 found 39533
parent transid verify failed on 2968115134464 wanted 34855 found 39533
Ignoring transid failure
parent transid verify failed on 2968115150848 wanted 34855 found 39533
parent transid verify failed on 2968115150848 wanted 34855 found 39533
parent transid verify failed on 2968115150848 wanted 34855 found 39533
parent transid verify failed on 2968115150848 wanted 34855 found 39533
Ignoring transid failure
parent transid verify failed on 2968115691520 wanted 34855 found 39533
parent transid verify failed on 2968115691520 wanted 34855 found 39533
parent transid verify failed on 2968115691520 wanted 34855 found 39533
parent transid verify failed on 2968115691520 wanted 34855 found 39533
Ignoring transid failure
parent transid verify failed on 1291597152256 wanted 35830 found 39530
parent transid verify failed on 1291597152256 wanted 35830 found 39530
parent transid verify failed on 1291597152256 wanted 35830 found 39530
parent transid verify failed on 1291597152256 wanted 35830 found 39530
Ignoring transid failure
parent transid verify failed on 2968116592640 wanted 34855 found 39533
parent transid verify failed on 2968116592640 wanted 34855 found 39533
parent transid verify failed on 2968116592640 wanted 34855 found 39533
parent transid verify failed on 2968116592640 wanted 34855 found 39533
Ignoring transid failure
parent transid verify failed on 2968116609024 wanted 34855 found 39533
parent transid verify failed on 2968116609024 wanted 34855 found 39533
parent transid verify failed on 2968116609024 wanted 34855 found 39533
parent transid verify failed on 2968116609024 wanted 34855 found 39533
Ignoring transid failure
print-tree.c:1094: btrfs_print_tree: Assertion failed.
btrfs-debug-tree[0x805ce93]
btrfs-debug-tree(btrfs_print_tree+0x26d)[0x805eb51]
btrfs-debug-tree(btrfs_print_tree+0x279)[0x805eb5d]
btrfs-debug-tree(main+0x8b5)[0x804dfb7]
/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0xb757c4d3]
btrfs-debug-tree[0x804e221]

Do you want the actual output?
(it's 1.1GB uncompressed)

Marc



Thanks,
Qu

Marc MERLIN wrote on 2015/08/12 10:19 -0700:

On Wed, Aug 12, 2015 at 12:18:45PM -0400, Josef Bacik wrote:

Going to need more info to figure this one out


Thanks for the patch, here's the output:
enabling repair mode
Checking filesystem on /dev/mapper/crypt_sdd1
UUID: 024ba4d0-dacb-438d-9f1b-eeb34083fe49
checking extents
wtf, parent 575708413952 <<
cmds-check.c:4488: add_data_backref: Assertion `back->bytes != max_size` failed.
/tmp/btrfs[0x8066a83]
/tmp/btrfs[0x8066ab4]
/tmp/btrfs[0x80679d8]
/tmp/btrfs[0x806b4f2]
/tmp/btrfs[0x806b9ea]
/tmp/btrfs[0x806c5f9]
/tmp/btrfs(cmd_check+0x1088)[0x806ee26]
/tmp/btrfs(main+0x153)[0x80557d6]
/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0xb75a54d3]
/tmp/btrfs[0x80557fc]

Marc


--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html



--
"A mouse is a device used to point at the xterm you want to type in" - A.S.R.
Microsoft is to operating systems 
    what McDonalds is to gourmet cooking
Home page: http://marc.merlins.org/ | PGP 1024R/763BE901
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html




--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a messa

[PATCH] btrfs: async_thread: Fix workqueue 'max_active' value when initializing

2015-08-23 Thread Qu Wenruo
At initializing time, for threshold-able workqueue, it's max_active
of kernel workqueue should be 1 and grow if it hits threshold.

But due to the bad naming, there is both 'max_active' for kernel
workqueue and btrfs workqueue.
So wrong value is given at workqueue initialization.

This patch fixes it, and to avoid further misunderstanding, change the
member name of btrfs_workqueue to 'current_active' and 'limit_active'.

Also corresponding comment is added for readability.

Reported-by: Alex Lyakas 
Signed-off-by: Qu Wenruo 
---
 fs/btrfs/async-thread.c | 57 +
 fs/btrfs/async-thread.h |  2 +-
 2 files changed, 35 insertions(+), 24 deletions(-)

diff --git a/fs/btrfs/async-thread.c b/fs/btrfs/async-thread.c
index 1ce06c84..3e36e4a 100644
--- a/fs/btrfs/async-thread.c
+++ b/fs/btrfs/async-thread.c
@@ -42,8 +42,14 @@ struct __btrfs_workqueue {
 
/* Thresholding related variants */
atomic_t pending;
-   int max_active;
-   int current_max;
+
+   /* Up limit of concurrency workers */
+   int limit_active;
+
+   /* Current number of concurrency workers */
+   int current_active;
+
+   /* Threshold to change current_active */
int thresh;
unsigned int count;
spinlock_t thres_lock;
@@ -88,7 +94,7 @@ BTRFS_WORK_HELPER(scrubnc_helper);
 BTRFS_WORK_HELPER(scrubparity_helper);
 
 static struct __btrfs_workqueue *
-__btrfs_alloc_workqueue(const char *name, unsigned int flags, int max_active,
+__btrfs_alloc_workqueue(const char *name, unsigned int flags, int limit_active,
 int thresh)
 {
struct __btrfs_workqueue *ret = kzalloc(sizeof(*ret), GFP_NOFS);
@@ -96,26 +102,31 @@ __btrfs_alloc_workqueue(const char *name, unsigned int 
flags, int max_active,
if (!ret)
return NULL;
 
-   ret->max_active = max_active;
+   ret->limit_active = limit_active;
atomic_set(&ret->pending, 0);
if (thresh == 0)
thresh = DFT_THRESHOLD;
/* For low threshold, disabling threshold is a better choice */
if (thresh < DFT_THRESHOLD) {
-   ret->current_max = max_active;
+   ret->current_active = limit_active;
ret->thresh = NO_THRESHOLD;
} else {
-   ret->current_max = 1;
+   /*
+* For threshold-able wq, let its concurrency grow on demand.
+* Use minimal max_active at alloc time to reduce resource
+* usage.
+*/
+   ret->current_active = 1;
ret->thresh = thresh;
}
 
if (flags & WQ_HIGHPRI)
ret->normal_wq = alloc_workqueue("%s-%s-high", flags,
-ret->max_active,
-"btrfs", name);
+ret->current_active, "btrfs",
+name);
else
ret->normal_wq = alloc_workqueue("%s-%s", flags,
-ret->max_active, "btrfs",
+ret->current_active, "btrfs",
 name);
if (!ret->normal_wq) {
kfree(ret);
@@ -134,7 +145,7 @@ __btrfs_destroy_workqueue(struct __btrfs_workqueue *wq);
 
 struct btrfs_workqueue *btrfs_alloc_workqueue(const char *name,
  unsigned int flags,
- int max_active,
+ int limit_active,
  int thresh)
 {
struct btrfs_workqueue *ret = kzalloc(sizeof(*ret), GFP_NOFS);
@@ -143,14 +154,14 @@ struct btrfs_workqueue *btrfs_alloc_workqueue(const char 
*name,
return NULL;
 
ret->normal = __btrfs_alloc_workqueue(name, flags & ~WQ_HIGHPRI,
- max_active, thresh);
+ limit_active, thresh);
if (!ret->normal) {
kfree(ret);
return NULL;
}
 
if (flags & WQ_HIGHPRI) {
-   ret->high = __btrfs_alloc_workqueue(name, flags, max_active,
+   ret->high = __btrfs_alloc_workqueue(name, flags, limit_active,
thresh);
if (!ret->high) {
__btrfs_destroy_workqueue(ret->normal);
@@ -180,7 +191,7 @@ static inline void thresh_queue_hook(struct 
__btrfs_workqueue *wq)
  */
 static inline void thresh_exec_hook(struct __btrfs_workqueue *wq)
 {
-   int new_max_active;
+   int new_current_active;
long pending;
int need_change = 0;
 
@@ -197,7 +208,7 @@ static inline void thresh_exec_hook(struct 
__btrfs_workqueue *wq)
wq->count %=

[SOLVED] Re: Deleted files cause btrfs-send to fail

2015-08-23 Thread Marc Joliet
Am Fri, 14 Aug 2015 23:37:37 +0200
schrieb Marc Joliet :

> If I notice anything amiss, I'll report back.

I haven't noticed anything amiss, so I'm marking this thread as SOLVED.

-- 
Marc Joliet
--
"People who think they know everything really annoy those of us who know we
don't" - Bjarne Stroustrup


pgpFiGtxa4hTf.pgp
Description: Digitale Signatur von OpenPGP


[PATCH] btrfs: Fixed dsize and last_off declarations

2015-08-23 Thread Alexandru Moise
The return values of btrfs_item_offset_nr and btrfs_item_size_nr are of
type u32. To avoid mixing signed and unsigned integers we should also
declare dsize and last_off to be of type u32.

Signed-off-by: Alexandru Moise <00moses.alexande...@gmail.com>
---
 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 54114b4..4ff739e 100644
--- a/fs/btrfs/ctree.c
+++ b/fs/btrfs/ctree.c
@@ -4938,8 +4938,8 @@ int btrfs_del_items(struct btrfs_trans_handle *trans, 
struct btrfs_root *root,
 {
struct extent_buffer *leaf;
struct btrfs_item *item;
-   int last_off;
-   int dsize = 0;
+   u32 last_off;
+   u32 dsize = 0;
int ret = 0;
int wret;
int i;
-- 
2.5.0

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html