On Fri, 25 Jan 2013 08:55:58 -0600, Mitch Harder wrote:
On Wed, Jan 23, 2013 at 6:52 PM, Liu Bo bo.li@oracle.com wrote:
On Wed, Jan 23, 2013 at 10:05:04AM -0600, Mitch Harder wrote:
On Wed, Jan 23, 2013 at 1:51 AM, Liu Bo bo.li@oracle.com wrote:
On Tue, Jan 22, 2013 at 11:41:19AM
On Fri, 25 Jan 2013 09:32:01 -0600, Eric Sandeen wrote:
On 1/25/13 5:57 AM, Gene Czarcinski wrote:
On 06/08/2012 02:00 PM, Stefan Behrens wrote:
Remove btrfsctl, btrfs-show and btrfs-vol from all target of Makefile.
TBH, unless there are objections, I'd rather remove the source files as well
-by: Stefan Behrens sbehr...@giantdisaster.de
Signed-off-by: Goffredo Baroncellikreij...@inwind.it
Signed-off-by: Gene Czarcinskig...@czarc.net
--
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
On 12/21/2012 07:42, Jeff Liu wrote:
On 12/21/2012 04:18 AM, Goffredo Baroncelli wrote:
On 12/20/2012 09:43 AM, Jeff Liu wrote:
+static int btrfs_ioctl_get_fslabel(struct file *file, void __user *arg)
+{
+ struct btrfs_root *root = BTRFS_I(fdentry(file)-d_inode)-root;
+ const char
The problem is that a new superblock is written which references a block in the
log tree although this block is written _after_ the superblock is written and
never before.
The referenced block in the following log is the one with the logical byte
number 35770368 which physically is located on
Make sure you have a wide terminal to read the following logs. The
current btrfs-next was taken to run the xfstest suite.
export TEST_DEV=/dev/sdg
export TEST_DIR=/mnt3
export SCRATCH_DEV=/dev/sdi
export SCRATCH_MNT=/mnt2
cd ~/git/xfs/cmds/xfstests
grep check_int common.rc
gives this result:
This is the last part.
./check 078-299
[112]
Dec 12 12:51:05 qvarne root: run xfstest 112
device fsid 55bc7fff-2ed3-48c4-94d8-e4ec5157ae21 devid 1 transid 35 /dev/sdg
btrfs: enabling check integrity
btrfs: use lzo compression
btrfs: enabling auto defrag
btrfs: disk space caching is enabled
This is the user mode part of the device replace patch series.
The command group btrfs replace is added with three commands:
- btrfs replace start srcdev|srcdevid targetdev [-Bfr] mount_point
- btrfs replace status mount_point [-1]
- btrfs replace cancel mount_point
Signed-off-by: Stefan Behrens
. This patch
seperates the bits and fixes the race.
Signed-off-by: Stefan Behrens sbehr...@giantdisaster.de
---
fs/btrfs/check-integrity.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/btrfs/check-integrity.c b/fs/btrfs/check-integrity.c
index 5a3e45d..a6baa8e 100644
--- a/fs
This regression was introduced by the device-replace patches.
Scrub immediately stops checking those disks that have write errors.
This is nothing that happens in the real world, but it is wrong
since scrub is the tool to detect and repair defects. Fix it.
Signed-off-by: Stefan Behrens sbehr
This issue was detected by the 0-DAY kernel build testing.
fs/btrfs/volumes.c: In function 'btrfs_rm_device':
fs/btrfs/volumes.c:1505:1: warning: label 'error_close' defined but not used
[-Wunused-label]
Signed-off-by: Stefan Behrens sbehr...@giantdisaster.de
---
This patch is only for btrfs
On Tue, 13 Nov 2012 17:25:46 +0100, Bart Noordervliet wrote:
Hi Stefan,
I gave your patchset a whirl and it worked like a charm. Thanks a lot
for your work. I was confused for a moment by the fact that the
operation doesn't immediately resize btrfs to use all of the new
device's available
On Wed, 14 Nov 2012 15:27:28 +0100, Joeri Vanthienen wrote:
Hi,
I was testing a new HBA (lsi SAS2008 based) in combination with BTRFS
and kernel 3.6.5
#mkfs.btrfs -m raid1 -d raid1 /dev/sdf /dev/sdg
# btrfs filesystem show
Label: none uuid: fe542409-7346-4ea1-af04-fd1765b6a1a2
Total
a BUG() in a subfunction. The BUG() is correct, it would crash
later otherwise. The subfunction must not be called for
superblocks and this is what the fix changes.
Reported-by: Joeri Vanthienen m...@joerivanthienen.be
Signed-off-by: Stefan Behrens sbehr...@giantdisaster.de
---
This patch
On Thu, 8 Nov 2012 22:24:51 +0800, Liu Bo wrote:
On Tue, Nov 06, 2012 at 05:38:25PM +0100, Stefan Behrens wrote:
The new function btrfs_find_device_missing_or_by_path() will be
used for the device replace procedure. This function itself calls
the second new function btrfs_find_device_by_path
On Fri, 9 Nov 2012 22:45:16 +0800, Liu Bo wrote:
On Fri, Nov 09, 2012 at 11:19:17AM +0100, Stefan Behrens wrote:
On Fri, 9 Nov 2012 08:44:01 +0800, Liu Bo wrote:
On Thu, Nov 08, 2012 at 06:24:36PM +0100, Stefan Behrens wrote:
On Thu, 8 Nov 2012 22:50:47 +0800, Liu Bo wrote:
On Tue, Nov 06
On Fri, 9 Nov 2012 08:44:01 +0800, Liu Bo wrote:
On Thu, Nov 08, 2012 at 06:24:36PM +0100, Stefan Behrens wrote:
On Thu, 8 Nov 2012 22:50:47 +0800, Liu Bo wrote:
On Tue, Nov 06, 2012 at 05:38:33PM +0100, Stefan Behrens wrote:
+ trans = btrfs_start_transaction(root, 0);
why
On Fri, 9 Nov 2012 10:47:39 +, David Pottage wrote:
Are you assuming the user is only replacing one device at once?
If the user is upgrading their disc array to increase the capacity (or
speed), then it would make sense for them to replace all the drives in the
array at once. Is that
On Thu, 8 Nov 2012 15:35:41 +0800, Fengguang Wu wrote:
Hi Stefan,
FYI, there are new sparse warnings show up in
tree: git://git.kernel.org/pub/scm/linux/kernel/git/josef/btrfs-next.git
master
head: c1014be59ba93855c31fda9d9cf4319cc6f9eeb1
commit:
Behrens 2012-11-05 470 }
d8e784f5 Stefan Behrens 2012-11-05 471 ret =
btrfs_commit_transaction(trans, root);
d8e784f5 Stefan Behrens 2012-11-05 472 WARN_ON(ret);
d8e784f5 Stefan Behrens 2012-11-05 473
d8e784f5 Stefan Behrens 2012-11-05 474 /* keep away
On Thu, 8 Nov 2012 22:50:47 +0800, Liu Bo wrote:
On Tue, Nov 06, 2012 at 05:38:33PM +0100, Stefan Behrens wrote:
+out:
+if (path) {
+btrfs_release_path(path);
+btrfs_free_path(path);
btrfs_free_path(path) will do release for you :)
Right :) Thanks.
+int
On Tue, 6 Nov 2012 14:48:36 -0800, Zach Brown wrote:
Yes, this happens on 32 bit builds, not on 64 bit builds. If you
look at the source code, the compiler is obviously wrong (or I am
blind).
ret = btrfs_dev_replace_find_srcdev(root, args-start.srcdevid,
On Wed, 07 Nov 2012 09:30:59 +0900, Tsutomu Itoh wrote:
(2012/11/07 1:38), Stefan Behrens wrote:
+static int scrub_add_page_to_wr_bio(struct scrub_ctx *sctx,
+struct scrub_page *spage)
+{
+struct scrub_wr_ctx *wr_ctx = sctx-wr_ctx;
+struct scrub_bio
On Wed, 07 Nov 2012 11:14:36 +0900, Tsutomu Itoh wrote:
(2012/11/07 1:38), Stefan Behrens wrote:
replace start [-Bfr] path srcdev|devid targetdev
I think that
btrfs replace start [-Bfr] srcdev|devid targetdev path
of the same synopsis as other subcommands is better.
You are right. 'btrfs
to other tasks
that are running in user mode context, they are not affected
or stopped in btrfs_handle_error(), these tasks just need to
handle write errors correctly.
Signed-off-by: Stefan Behrens sbehr...@giantdisaster.de
---
fs/btrfs/super.c | 11 ++-
1 file changed, 10 insertions(+), 1
to the target disk, but not all reads would return
valid data on the target disk. Therefore it is not possible
anymore to abuse a REQ_WRITE interface to find valid mirrors
for a REQ_READ.
Signed-off-by: Stefan Behrens sbehr...@giantdisaster.de
---
fs/btrfs/ctree.h | 3 +++
fs/btrfs/reada.c | 3
This patch adds some code to disallow operations on the device that
is used as the target for the device replace operation.
Signed-off-by: Stefan Behrens sbehr...@giantdisaster.de
---
fs/btrfs/ctree.h | 2 +-
fs/btrfs/extent-tree.c | 3 ++-
fs/btrfs/ioctl.c | 8 +++-
fs/btrfs
is replaced with the
fs_info pointer argument.
Signed-off-by: Stefan Behrens sbehr...@giantdisaster.de
---
fs/btrfs/ctree.h | 11
fs/btrfs/disk-io.c | 4 +--
fs/btrfs/ioctl.c | 8 +++---
fs/btrfs/scrub.c | 76 --
fs/btrfs
This new function is used by the device replace procedure in
a later patch.
Signed-off-by: Stefan Behrens sbehr...@giantdisaster.de
---
fs/btrfs/volumes.c | 18 ++
fs/btrfs/volumes.h | 1 +
2 files changed, 19 insertions(+)
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
Just move some code into functions to make everything more readable.
Signed-off-by: Stefan Behrens sbehr...@giantdisaster.de
---
fs/btrfs/scrub.c | 106 +--
1 file changed, 71 insertions(+), 35 deletions(-)
diff --git a/fs/btrfs/scrub.c b/fs
Signed-off-by: Stefan Behrens sbehr...@giantdisaster.de
---
fs/btrfs/ctree.h | 66 +++
fs/btrfs/print-tree.c | 3 +++
2 files changed, 69 insertions(+)
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index 57961f1..4bffc63 100644
--- a/fs
be used to read data in order to repair read errors on
other disks.
Signed-off-by: Stefan Behrens sbehr...@giantdisaster.de
---
fs/btrfs/ctree.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index 01fcfcb..133e5c4 100644
--- a/fs/btrfs/ctree.h
This is required for the device replace procedure in a later step.
Two calling functions also had to be changed to have the fs_info
pointer: repair_io_failure() and scrub_setup_recheck_block().
Signed-off-by: Stefan Behrens sbehr...@giantdisaster.de
---
fs/btrfs/check-integrity.c | 2 +-
fs
a running device replace operation.
Stefan Behrens (26):
Btrfs: rename the scrub context structure
Btrfs: remove the block device pointer from the scrub context struct
Btrfs: make the scrub page array dynamically allocated
Btrfs: in scrub repair code, optimize the reading of mirrors
of the
term dev to the term ctx whereever the scrub context is used.
Signed-off-by: Stefan Behrens sbehr...@giantdisaster.de
---
fs/btrfs/scrub.c | 504 ++---
fs/btrfs/volumes.h | 2 +-
2 files changed, 253 insertions(+), 253 deletions(-)
diff
functions that look
similar at first view are all a little bit different in what they
are doing. But in the future, new code could benefit from these
two new functions, and currently, device replace uses them.
Signed-off-by: Stefan Behrens sbehr...@giantdisaster.de
---
fs/btrfs/volumes.c | 74
, since it is used last. And when this
mirror is not available because the copy procedure has not yet
handled this area, an error is returned. Everywhere in the code
the handling of such errors is added now.
Signed-off-by: Stefan Behrens sbehr...@giantdisaster.de
---
fs/btrfs/check-integrity.c | 15
Signed-off-by: Stefan Behrens sbehr...@giantdisaster.de
---
fs/btrfs/ctree.h | 39 +++
fs/btrfs/disk-io.c | 5 +
2 files changed, 44 insertions(+)
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index ef83538..57961f1 100644
--- a/fs/btrfs/ctree.h
This commit contains all the essential changes to the core code
of Btrfs for support of the device replace procedure.
Signed-off-by: Stefan Behrens sbehr...@giantdisaster.de
---
fs/btrfs/Makefile | 2 +-
fs/btrfs/ctree.h | 2 +
fs/btrfs/disk-io.c | 24 +-
fs/btrfs/reada.c
This is the commit that allows to start the device replace
procedure.
An ioctl() interface is added that supports starting and
canceling the device replace procedure, and to retrieve
the status and progress.
Signed-off-by: Stefan Behrens sbehr...@giantdisaster.de
---
fs/btrfs/ioctl.c | 48
This is required for the device replace procedure in a later step.
Signed-off-by: Stefan Behrens sbehr...@giantdisaster.de
---
fs/btrfs/check-integrity.c | 12 ++--
fs/btrfs/disk-io.c | 2 +-
fs/btrfs/extent_io.c | 11 +--
fs/btrfs/volumes.c | 3 ++-
fs
Btrfs admin operations that are manually started from user mode
and that cannot be executed at the same time return -EINPROGRESS.
A common way to enter and leave this locked section is introduced
since it used to be specific to the balance operation.
Signed-off-by: Stefan Behrens sbehr
is known.
Signed-off-by: Stefan Behrens sbehr...@giantdisaster.de
---
fs/btrfs/scrub.c | 133 ++-
1 file changed, 73 insertions(+), 60 deletions(-)
diff --git a/fs/btrfs/scrub.c b/fs/btrfs/scrub.c
index 29c8aac..822c08a 100644
--- a/fs/btrfs
-by: Stefan Behrens sbehr...@giantdisaster.de
---
fs/btrfs/scrub.c | 195 ++-
1 file changed, 121 insertions(+), 74 deletions(-)
diff --git a/fs/btrfs/scrub.c b/fs/btrfs/scrub.c
index 822c08a..15ac82a 100644
--- a/fs/btrfs/scrub.c
+++ b/fs/btrfs
This adds a new file to the sources together with the header file
and the changes to ioctl.h that are required by the new C source
file.
Signed-off-by: Stefan Behrens sbehr...@giantdisaster.de
---
fs/btrfs/dev-replace.c | 843 +
fs/btrfs/dev
partially filled
with the filesystem data.
Signed-off-by: Stefan Behrens sbehr...@giantdisaster.de
---
fs/btrfs/volumes.c | 159 +++--
1 file changed, 154 insertions(+), 5 deletions(-)
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index edd5573
.
Signed-off-by: Stefan Behrens sbehr...@giantdisaster.de
---
fs/btrfs/volumes.c | 50 +-
1 file changed, 49 insertions(+), 1 deletion(-)
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index 208cc13..164f9b1 100644
--- a/fs/btrfs/volumes.c
operation works as fast as before, it is not
negatively influenced and actually it is more or less unchanged.
Signed-off-by: Stefan Behrens sbehr...@giantdisaster.de
---
fs/btrfs/ctree.h | 2 +
fs/btrfs/reada.c | 10 +-
fs/btrfs/scrub.c | 881
In the scrub repair code, the code is changed to handle memory
allocation errors a little bit smarter. The change is to handle
it just like a read error. This simplifies the code and removes
a couple of lines of code, since the code to handle read errors
is there anyway.
Signed-off-by: Stefan
is not changed by this commit.
Signed-off-by: Stefan Behrens sbehr...@giantdisaster.de
---
fs/btrfs/volumes.c | 46 +++---
1 file changed, 35 insertions(+), 11 deletions(-)
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index 164f9b1..edd5573 100644
--- a/fs
This is the user mode part of the device replace patch series.
The command group btrfs replace is added with three commands:
- btrfs replace start mount_point srcdev|srcdevid targetdev [-Bfr]
- btrfs replace status mount_point [-1]
- btrfs replace cancel mount_point
Signed-off-by: Stefan Behrens
On 11/06/2012 19:17, Bart Noordervliet wrote:
Great new feature Stefan, thanks a lot! Going to give it a spin right
away. While compiling I got this (probably superfluous) error that you
might want to prevent:
fs/btrfs/dev-replace.c: In function ‘btrfs_dev_replace_start’:
Someone who is root or capable(CAP_SYS_ADMIN) could corrupt the
superblock and make Btrfs printk(%s) crash while holding the
uuid_mutex since nobody forces a limit on the string. Since the
uuid_mutex is significant, the system would be unusable
afterwards.
Signed-off-by: Stefan Behrens sbehr
On 11/02/2012 15:17, Goffredo Baroncelli wrote:
Signed-off-by: Goffredo Baroncelli kreij...@inwind.it
---
Makefile |5 +-
btrfs-show-super.c | 284
2 files changed, 288 insertions(+), 1 deletion(-)
create mode 100644
On 11/02/2012 22:46, Goffredo Baroncelli wrote:
Signed-off-by: Goffredo Baroncelli kreij...@inwind.it
---
Makefile |5 +-
btrfs-show-super.c | 284
2 files changed, 288 insertions(+), 1 deletion(-)
create mode 100644
right to get upset when I was moving and
changing a function in one go
http://www.spinics.net/lists/linux-btrfs/msg17067.html).
Stefan
On 25/05/12 22:07, Stefan Behrens wrote:
This is a preparation step to add support for device stats. The
definition
of the function open_file_or_dir() is moved
with the number of devices that are tolerated to be missing
according to the configured RAID level. If more devices are missing
than tolerated, e.g. if two devices are missing in case of RAID1,
only a read-only mount and remount is allowed.
Signed-off-by: Stefan Behrens sbehr...@giantdisaster.de
---
fs/btrfs
On 10/29/2012 18:55, Goffredo Baroncelli wrote:
On 2012-10-29 12:00, Stefan Behrens wrote:
All your comments are correct and are good suggestions for
improvements. Thank you!
[...]
I think that it would be a great debug tool. Can I update your patch
with my improvements ?
Great, thanks
Just a small program to print the fields of a super block.
Signed-off-by: Stefan Behrens sbehr...@giantdisaster.de
---
Makefile | 5 +-
btrfs-show-super.c | 201 +
2 files changed, 205 insertions(+), 1 deletion(-)
diff --git
parameter list would also be a working workaround.
Signed-off-by: Stefan Behrens sbehr...@giantdisaster.de
---
The patch is based on the master branch of
git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-progs.git
mkfs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git
Hi Goffredo
On 10/15/2012 21:15, Goffredo Baroncelli wrote:
From: Goffredo Baroncelli kreij...@inwind.it
Move parse_size() in utils.c, because it is used both from
cmds-filesystem.c and mkfs.c.
Makes sense.
(Jan also sent such a patch on 1 Feb 2011
On Fri, 5 Oct 2012 16:55:00 -0400, Josef Bacik wrote:
Alloc_dummy_extent_buffer will not free the first page in the eb array if we
fail to allocate a page, fix this. Thanks,
Reported-by: David Sterba d...@jikos.cz
Signed-off-by: Josef Bacik jba...@fusionio.com
---
fs/btrfs/extent_io.c |
gcc says warning: comparison of unsigned expression = 0 is always
true because i is an unsigned long. And gcc is right this time.
Signed-off-by: Stefan Behrens sbehr...@giantdisaster.de
---
fs/btrfs/extent_io.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/fs/btrfs
On Fri, 10 Aug 2012 15:38:35 +0200, Stefan Behrens wrote:
So far the return code of barrier_all_devices() is ignored, which
means that errors are ignored. The result can be a corrupt
filesystem which is not consistent.
This commit adds code to evaluate the return code of
barrier_all_devices
On Fri, 5 Oct 2012 09:09:11 -0400, Chris Mason wrote:
On Fri, Oct 05, 2012 at 06:51:59AM -0600, Josef Bacik wrote:
On Fri, Aug 10, 2012 at 07:38:35AM -0600, Stefan Behrens wrote:
So far the return code of barrier_all_devices() is ignored, which
means that errors are ignored. The result can
On 09/21/2012 05:46, Marc MERLIN wrote:
Oh my, now I'm trying again with a new drive, and a big cp from an
existing array to a new one dies with:
[32042.079411] [ cut here ]
[32042.085799] kernel BUG at fs/btrfs/extent_io.c:1884!
[32042.092528] invalid opcode: [#1]
On Wed, 12 Sep 2012 17:26:43 +0900, Tsutomu Itoh wrote:
This patch simplifies a little complex error processing in
btree_get_extent().
Signed-off-by: Tsutomu Itoh t-i...@jp.fujitsu.com
---
fs/btrfs/disk-io.c | 14 +-
1 files changed, 5 insertions(+), 9 deletions(-)
diff
On Sun, 26 Aug 2012 16:07:33 -0400 (EDT), tubalcane wrote:
I'm primarily interested in the block level checksums of files and the
scrubbing
feature to detect corrupt files. Currently I use ext4 and create and keep
md5sums of everything which is tedious but I care about my data (quadruple
is reverted with the current patch.
However, the counting of checksum errors in the scrub context remains
active, and the counting of detected IO errors (read, write or flush
errors) in all contexts remains active.
Cc: stable sta...@vger.kernel.org # 3.5
Signed-off-by: Stefan Behrens sbehr
On Mon, 27 Aug 2012 23:31:41 +0800, Liu Bo wrote:
On 08/27/2012 07:12 PM, Stefan Behrens wrote:
On Sun, 26 Aug 2012 16:07:33 -0400 (EDT), tubalcane wrote:
I'm primarily interested in the block level checksums of files and the
scrubbing
feature to detect corrupt files. Currently I use ext4
On Thu, 23 Aug 2012 14:12:59 +0200, Goffredo Baroncelli wrote:
Export via sysfs some information about the btrfs devices and
filesystem.
---
fs/btrfs/super.c |4
fs/btrfs/sysfs.c | 933
++
fs/btrfs/sysfs.h | 31 ++
3 files
On Wed, 15 Aug 2012 10:21:48 -0500, Anthony Plack wrote:
Okay, this is the second occurrence of this bug. I have searched Google, and
while there are two posting for exten_io, I am not sure if they match.
Running Gentoo with kernel 3.5 on a dual core AMD. The machine has 19 drives
of
On Sat, 11 Aug 2012 10:36:17 +0800, Liu Bo wrote:
On 08/10/2012 09:38 PM, Stefan Behrens wrote:
[...]
+flags = space.flags;
+/*
+ * return
+ * 0: if dup, single or RAID0
is started and finished, and when devices
are added or removed.
Signed-off-by: Stefan Behrens sbehr...@giantdisaster.de
---
fs/btrfs/ctree.h| 5 +++
fs/btrfs/disk-io.c | 109 +---
fs/btrfs/disk-io.h | 2 +
fs/btrfs/ioctl.c| 8 ++--
fs/btrfs
repair_eb_io_failure() when the verification of the transids failed.
This commit fixes the issue.
Signed-off-by: Stefan Behrens sbehr...@giantdisaster.de
---
fs/btrfs/disk-io.c | 8 ++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index 3c4c439
This issue happens every time I want to mount one particular filesystem.
To create the filesystem, I was using 'mkfs.btrfs -d raid1 -m raid1', mounted
it and copied the kernel sources into the filesystem, then ran 'btrfs balance',
'btrfs dev add' and 'btrfs dev del'. The last step was the dev
With chris' for-linus of today.
The script:
echo /dev/sdo, /dev/sdp and /dev/sdq are 1TB disks
mkfs.btrfs -d raid1 -m raid1 -b1600M /dev/sdo /dev/sdp
mount /dev/sdo /mnt2
echo 'copy kernel source and built kernel objects (much larger than 1600MB):'
(cd ~/git/btrfs; tar cf - .) | (cd /mnt2; tar xf
On Thu, 9 Aug 2012 18:01:57 +0200, David Sterba wrote:
On Thu, Aug 09, 2012 at 05:36:54PM +0200, Stefan Behrens wrote:
Aug 9 16:02:21 qvarne kernel: [ 543.479460] - #2
(fs_info-cleaner_mutex){+.+...}:
Aug 9 16:02:21 qvarne kernel: [ 543.541341][810da005]
lock_acquire
On Wed, 8 Aug 2012 16:45:57 +0200, David Sterba wrote:
On Sun, Aug 05, 2012 at 04:11:47PM +0200, Olivier Bonvalet wrote:
Aug 5 16:10:12 backup2 kernel: [ 58.674758] parent transid verify failed
on 615015833600 wanted 110423 found 110424
1st mirror fails verify_parent_transid().
Aug 5
In iterate_inodes_from_logical() the error result from
extent_from_logical() is patched by mistake. Typically ENOENT is
patched to EINVAL because (-ENOENT BTRFS_EXTENT_FLAG_TREE_BLOCK)
evaluates to true.
Signed-off-by: Stefan Behrens sbehr...@giantdisaster.de
---
Resent because of the previously
sleep 35
echo 0 25165824 linear $SCRATCH_DEV 0 | dmsetup reload foo
dmsetup resume foo
sleep 1
umount $SCRATCH_MNT
btrfsck /dev/mapper/foo
dmsetup remove foo
Signed-off-by: Stefan Behrens sbehr...@giantdisaster.de
Signed-off-by: Jan Schmidt list.bt...@jan-o-sch.net
---
Changes v1 - v2:
- Removed
In check-integrity, detect when a superblock is written that points
to blocks that have not been written to disk due to I/O write errors.
Signed-off-by: Stefan Behrens sbehr...@giantdisaster.de
---
fs/btrfs/check-integrity.c | 16 ++--
1 file changed, 14 insertions(+), 2 deletions
umount $SCRATCH_MNT
btrfsck /dev/mapper/foo
dmsetup remove foo
Signed-off-by: Stefan Behrens sbehr...@giantdisaster.de
---
fs/btrfs/disk-io.c | 11 +++
1 file changed, 3 insertions(+), 8 deletions(-)
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index 502b20c..6f08a32 100644
--- a/fs
On Fri, 27 Jul 2012 16:04:14 +0530, Nageswara R Sastry wrote:
Check for the return value of 'open_ctree()' before dereferencing it.
Signed-off-by: Nageswara R Sastry nasas...@in.ibm.com
---
btrfs-image.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/btrfs-image.c b/btrfs-image.c
On Fri, 27 Jul 2012 13:09:53 +0200, Stefan Behrens wrote:
On Fri, 27 Jul 2012 16:04:14 +0530, Nageswara R Sastry wrote:
Check for the return value of 'open_ctree()' before dereferencing it.
Signed-off-by: Nageswara R Sastry nasas...@in.ibm.com
---
btrfs-image.c | 1 +
1 file changed, 1
In iterate_inodes_from_logical() the error result from
extent_from_logical() is patched by mistake. Typically ENOENT is
patched to EINVAL because (-ENOENT BTRFS_EXTENT_FLAG_TREE_BLOCK)
evaluates to true.
---
fs/btrfs/backref.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git
This should obviously not be if (flag) but if (flag).
Signed-off-by: Stefan Behrens sbehr...@giantdisaster.de
---
fs/btrfs/locking.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/btrfs/locking.c b/fs/btrfs/locking.c
index a44eff074..2a1762c 100644
--- a/fs/btrfs
People complained about unwanted kernel log output at mount time,
related to btrfs device I/O statistics. With these two commits, the
two messages are removed or filtered, respectively.
Stefan Behrens (2):
Btrfs: remove unwanted printk() for btrfs device I/O stats
Btrfs: suppress printk
Code is added to suppress the I/O stats printing at mount time if all
statistic values are zero.
Signed-off-by: Stefan Behrens sbehr...@giantdisaster.de
---
fs/btrfs/volumes.c | 8
1 file changed, 8 insertions(+)
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index 6f04dae
it is now will be used also in the
future. Then this message is not useful to find errors, it is just
annoying. This commit removes the printk().
Signed-off-by: Stefan Behrens sbehr...@giantdisaster.de
---
fs/btrfs/volumes.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/fs/btrfs/volumes.c b/fs
On Tue, 10 Jul 2012 09:48:27 +1000, Shavi N wrote:
Hi,
I have this problem after trying to run btrfsck.
I have new 11 HDDs WD 2tb, on two RAID controllers
Arch Linux, latest kernel. What I was doing was copying and reading
multiple data at the same time
After getting I/O errors while
blocks.
This commit prevents calling repair_io_failure() in this case and thus
avoids the BUG_ON() and malfunction.
Signed-off-by: Stefan Behrens sbehr...@giantdisaster.de
---
fs/btrfs/disk-io.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk
On Mon, 2 Jul 2012 22:57:01 +0300, Alex Lyakas wrote:
Hi everybody,
I am interested to test how btrfs behaves when the underlying block
device starts returning permanent IO errors. To test this, I set up a
linear device-mapper, mapped to the block device and start IOs. At
some point, I switch
On Tue, 03 Jul 2012 16:02:03 +0200, Stefan Behrens wrote:
On 7/3/2012 4:02 PM, Stefan Behrens wrote:
On Mon, 2 Jul 2012 22:57:01 +0300, Alex Lyakas wrote:
Hi everybody,
I am interested to test how btrfs behaves when the underlying block
device starts returning permanent IO errors. To test
.
Signed-off-by: Stefan Behrens sbehr...@giantdisaster.de
---
cmds-device.c | 13 ++---
ioctl.h | 4
2 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/cmds-device.c b/cmds-device.c
index 7621cc0..c146e91 100644
--- a/cmds-device.c
+++ b/cmds-device.c
@@ -263,13 +263,13
and should not waste ioctl
numbers.
CC: Stefan Behrens sbehr...@giantdisaster.de
Signed-off-by: David Sterba dste...@suse.cz
---
fs/btrfs/ioctl.c | 16
fs/btrfs/ioctl.h |6 --
fs/btrfs/volumes.c |5 ++---
fs/btrfs/volumes.h |3 +--
4 files changed, 15
On 06/22/2012 19:02 +0200, David Sterba wrote:
On Fri, Jun 22, 2012 at 06:26:44PM +0200, Stefan Behrens wrote:
I still do not understand your reason and the benefit of your change.
The reset command and the read command are two completely different
operations. Therefore I assigned two different
fixes the issue.
Signed-off-by: Stefan Behrens sbehr...@giantdisaster.de
Reported-by: Carey Underwood cwi...@cwillu.com
---
fs/btrfs/volumes.c | 22 --
1 file changed, 12 insertions(+), 10 deletions(-)
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index 7782020
On Wed, 13 Jun 2012 00:35:26 +0200, David Sterba wrote:
On Tue, Jun 12, 2012 at 03:50:41PM -0400, Josef Bacik wrote:
+++ b/fs/btrfs/check-integrity.c
@@ -93,6 +93,7 @@
#include print-tree.h
#include locking.h
#include check-integrity.h
+#include rcu-string.h
#define
On Wed, 13 Jun 2012 09:14:27 -0400, Josef Bacik wrote:
On Wed, Jun 13, 2012 at 12:35:26AM +0200, David Sterba wrote:
On Tue, Jun 12, 2012 at 03:50:41PM -0400, Josef Bacik wrote:
@@ -4694,8 +4716,11 @@ int btrfs_init_dev_stats(struct btrfs_fs_info
*fs_info)
key.offset =
301 - 400 of 485 matches
Mail list logo