All of lore.kernel.org
 help / color / mirror / Atom feed
* possible bug in balance
       [not found] <1377898232.24181420209516734.JavaMail.root@shiva>
@ 2015-01-02 14:42 ` luvar
  2015-01-03 10:30   ` Duncan
  2015-01-04 10:39   ` Erkki Seppala
  0 siblings, 2 replies; 3+ messages in thread
From: luvar @ 2015-01-02 14:42 UTC (permalink / raw)
  To: linux-btrfs

Hi,
I have today added one device and I have converted metadata to raid1. Than I wanted to convert to raid1 also some data (with balance filter) and try if there is some speedup when reading files (starting programs)... I have issued this command:

luvar@blackdawn:~$ sudo time btrfs balance start -dconvert=raid1 -dusage=20 /home/luvar/programs/
[sudo] password for luvar: 
ERROR: error during balancing '/home/luvar/programs/' - Input/output error
There may be more info in syslog - try dmesg | tail
Command exited with non-zero status 19
0.00user 0.08system 0:08.29elapsed 1%CPU (0avgtext+0avgdata 768maxresident)k
14696inputs+6584outputs (2major+253minor)pagefaults 0swaps


Part of df command:
luvar@blackdawn:~$ df -h
Filesystem                   Size  Used Avail Use% Mounted on
/dev/sdb2                    458G  177G   59G  75% /
/dev/sdb2                    458G  177G   59G  75% /home
/dev/sdb1                    226M   96M  114M  46% /boot
/dev/sdb2                    458G  177G   59G  75% /home/luvar/eclipseWorkspaceAndroid
/dev/sdb2                    458G  177G   59G  75% /home/luvar/eclipseWorkspaceErlang
/dev/sdb2                    458G  177G   59G  75% /home/luvar/programs

root@blackdawn:/home/luvar# dmesg|tail -n 50
[ 8107.693414] attempt to access beyond end of device
[ 8107.693425] sdb2: rw=32, want=480102272, limit=473956352
[ 8107.711854] attempt to access beyond end of device
[ 8107.711863] sdb2: rw=1041, want=480102272, limit=473956352
[ 8107.771103] attempt to access beyond end of device
[ 8107.771114] sdb2: rw=32, want=482410504, limit=473956352
[ 8107.784037] attempt to access beyond end of device
[ 8107.784045] sdb2: rw=1041, want=482410504, limit=473956352
[ 8107.804923] attempt to access beyond end of device
[ 8107.804933] sdb2: rw=32, want=478657496, limit=473956352
[ 8107.817134] attempt to access beyond end of device
[ 8107.817142] sdb2: rw=1041, want=478657496, limit=473956352
[ 8107.835377] attempt to access beyond end of device
[ 8107.835384] sdb2: rw=32, want=480795752, limit=473956352
[ 8107.842977] attempt to access beyond end of device
[ 8107.842985] sdb2: rw=1041, want=480795752, limit=473956352
[ 8107.887768] attempt to access beyond end of device
[ 8107.887778] sdb2: rw=32, want=478931480, limit=473956352
[ 8107.898939] attempt to access beyond end of device
[ 8107.898946] sdb2: rw=1041, want=478931480, limit=473956352
[ 8107.958691] attempt to access beyond end of device
[ 8107.958699] sdb2: rw=32, want=479426840, limit=473956352
[ 8107.966368] attempt to access beyond end of device
[ 8107.966375] sdb2: rw=1041, want=479426840, limit=473956352
[ 8116.097908] attempt to access beyond end of device
[ 8116.097919] sdb2: rw=32, want=478334096, limit=473956352
[ 8116.097923] btrfs_dev_stat_print_on_error: 12 callbacks suppressed
[ 8116.097926] btrfs: bdev /dev/sdb2 errs: wr 638625, rd 65863, flush 0, corrupt 0, gen 0
[ 8116.133108] attempt to access beyond end of device
[ 8116.133118] sdb2: rw=1041, want=478334096, limit=473956352
[ 8116.133124] btrfs: bdev /dev/sdb2 errs: wr 638626, rd 65863, flush 0, corrupt 0, gen 0
[ 8125.065061] attempt to access beyond end of device
[ 8125.065073] sdb2: rw=32, want=481418928, limit=473956352
[ 8125.065077] btrfs: bdev /dev/sdb2 errs: wr 638626, rd 65864, flush 0, corrupt 0, gen 0
[ 8125.084522] attempt to access beyond end of device
[ 8125.084533] sdb2: rw=1041, want=481418928, limit=473956352
[ 8125.084539] btrfs: bdev /dev/sdb2 errs: wr 638627, rd 65864, flush 0, corrupt 0, gen 0
[ 8131.848768] btrfs: relocating block group 472710643712 flags 1
[ 8133.866427] attempt to access beyond end of device
[ 8133.866436] sdb2: rw=0, want=476739152, limit=473956352
[ 8133.866441] btrfs: bdev /dev/sdb2 errs: wr 638627, rd 65865, flush 0, corrupt 0, gen 0
[ 8133.866516] attempt to access beyond end of device
[ 8133.866520] sdb2: rw=0, want=476739152, limit=473956352
[ 8133.866523] btrfs: bdev /dev/sdb2 errs: wr 638627, rd 65866, flush 0, corrupt 0, gen 0
[ 8159.272179] attempt to access beyond end of device
[ 8159.272191] sdb2: rw=32, want=480110048, limit=473956352
[ 8159.272196] btrfs: bdev /dev/sdb2 errs: wr 638627, rd 65867, flush 0, corrupt 0, gen 0
[ 8159.300427] attempt to access beyond end of device
[ 8159.300434] sdb2: rw=1041, want=480110048, limit=473956352
[ 8159.300440] btrfs: bdev /dev/sdb2 errs: wr 638628, rd 65867, flush 0, corrupt 0, gen 0

root@blackdawn:/home/luvar# uname -a
Linux blackdawn 3.13.0-30-generic #55-Ubuntu SMP Fri Jul 4 21:40:53 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

root@blackdawn:/home/luvar# btrfs v
Btrfs v0.20-rc1-189-g704a08c


Am I doing something forbidden (I have not see any structure where raid type is stored per file/subvolume item), or I just hit some problem? What should I try?

PS: After all I will convert all data to raid1, but I want to play first :-)

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: possible bug in balance
  2015-01-02 14:42 ` possible bug in balance luvar
@ 2015-01-03 10:30   ` Duncan
  2015-01-04 10:39   ` Erkki Seppala
  1 sibling, 0 replies; 3+ messages in thread
From: Duncan @ 2015-01-03 10:30 UTC (permalink / raw)
  To: linux-btrfs

luvar posted on Fri, 02 Jan 2015 15:42:29 +0100 as excerpted:

> root@blackdawn:/home/luvar# uname -a
> [...] 3.13.0-30-generic [...]
> 
> root@blackdawn:/home/luvar# btrfs v
> Btrfs v0.20-rc1-189-g704a08c
> 
> 
> Am I doing something forbidden [...]

Those versions are your problem.  Do you know how fast btrfs is 
improving, how old those are (hint, there are about five kernel release 
series a year and we're now on the 3.19 development series with 3.18 
stable, so 3.13 is... about five releases back and thus about a year old!
), and how many bugs have been fixed since then?

Try something newer than the paleolithic age, say a current 3.18.x stable 
series kernel or a 3.19-rc, and the recent btrfs-progs 3.18.0, and you 
should see rather better results.  There are valid reasons to stick to 
old and stable, but they simply don't mix well with a new and still not 
completely stable filesystem that still sees regular bug fixes, and not 
just for code introduced in the last kernel, either!  Therefore, if you 
want old and stable, choose a different filesystem; while if you want to 
run btrfs, staying current is strongly recommended.

Meanwhile, if you haven't yet, you may want to spend some time on the 
wiki reading up.  Take a look at the stuff under section 5.1, Guides and 
usage information, especially.  It'll answer a lot of questions and could 
save your data too. =:^)

https://btrfs.wiki.kernel.org

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: possible bug in balance
  2015-01-02 14:42 ` possible bug in balance luvar
  2015-01-03 10:30   ` Duncan
@ 2015-01-04 10:39   ` Erkki Seppala
  1 sibling, 0 replies; 3+ messages in thread
From: Erkki Seppala @ 2015-01-04 10:39 UTC (permalink / raw)
  To: linux-btrfs

luvar@plaintext.sk writes:

Hello,

> luvar@blackdawn:~$ sudo time btrfs balance start -dconvert=raid1 -dusage=20 /home/luvar/programs/

> Am I doing something forbidden (I have not see any structure where
> raid type is stored per file/subvolume item), or I just hit some
> problem? What should I try?

btrfs doesn't yet support per-subvolume RAID1 levels. I'm not sure how
it should behave with your command line. It probably tries to
rebalance the whole filesystem.

> Than I wanted to convert to raid1 also some data (with balance
> filter) and try if there is some speedup when reading files
> (starting programs)...

Though I can already tell that no, there won't be a speedup, as btrfs
scheduler chooses the device to access by using the process id as a
seed. Therefore a single thread is never able to use 100% RAID1 input
capability. Perhaps in future there will be more sophisticated
schedulers. You may try to use MD raid1 for extra speed, but you would
lose the automatic error recovery of btrfs (but you would still notice
if data gets corrupted).

> [ 8159.300427] attempt to access beyond end of device
> [ 8159.300434] sdb2: rw=1041, want=480110048, limit=473956352
> [ 8159.300440] btrfs: bdev /dev/sdb2 errs: wr 638628, rd 65867, flush 0, corrupt 0, gen 0

I have noticed that 'attempt to access beyond end of device' typically
indicates (with other file systems, I haven't seen that with btrfs)
that the partition table and the filesystem size don't
match. Typically such a situation could occur when one modifies
partition table after creating the file system, though I'm sure there
are other ways to get into such a situation. You may find the
filesystem size with btrfs filesystem show and partition sizes with
cat /proc/partitions (multiply by block size = 1024 bytes).

Should the partition sizes and filesystem sizes match, I would be
quite certain this would indeed be a btrfs bug. But,

> root@blackdawn:/home/luvar# uname -a
> Linux blackdawn 3.13.0-30-generic #55-Ubuntu SMP Fri Jul 4 21:40:53 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
> root@blackdawn:/home/luvar# btrfs v
> Btrfs v0.20-rc1-189-g704a08c

should this turn out to be a bug, I'm certain trying a more recent
kernel version is a terrific idea :). 3.18.x or 3.17.y where y>2 (I
think those were the two versions that were bad in 3.17
series..). They won't have support for raid1'n a subvolume either,
though, as far as I know.

Remember backups :).

-- 
  _____________________________________________________________________
     / __// /__ ____  __               http://www.modeemi.fi/~flux/\   \
    / /_ / // // /\ \/ /                                            \  /
   /_/  /_/ \___/ /_/\_\@modeemi.fi                                  \/


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-01-04 10:39 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <1377898232.24181420209516734.JavaMail.root@shiva>
2015-01-02 14:42 ` possible bug in balance luvar
2015-01-03 10:30   ` Duncan
2015-01-04 10:39   ` Erkki Seppala

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.