On 28/10/2014 12:03, Gui Hecheng wrote:
On Thu, 2014-10-23 at 21:36 +0800, Anand Jain wrote:

   there is no point in re-creating so many btrfs kernel's logic in user
   space. its just unnecessary, when kernel is already doing it. use
   some interface to get info from kernel after device is registered,
   (not necessarily mounted). so progs can be as sleek as possible.
   to me it started as just one more bug now we have fixed so many many.
   It all needs one good interface for kernel which provides anything
   anything from the kernel.


Oh, the interface for kernel you described is really interesting.
But how to store the seed/sprout relationships so that we can fetch them
correctly for umounted btrfs?

 remember -  btrfs-control ioctl READY does not work yet when seed is
 present. Some how we need to fix that in kernel right. ? for which
 we need the seed/sprout relation when devices are unmounted. you may
 get that working/accepted in the kernel first, a simple user space
 interface (such as nacked /proc/fs/btrfs/devlist interface or
 discussing sysfs interface (bit risky though)) is all that is needed
 to get this working.



-Gui


On 10/23/14 16:52, Gui Hecheng wrote:
On Thu, 2014-10-23 at 16:13 +0800, Anand Jain wrote:

Some of the disks on my system were missing and I was able to hit
this issue.


----------------
Check tree block failed, want=12582912, have=0
read block failed check_tree_block
Couldn't read chunk root
warning devid 2 not found already
Check tree block failed, want=143360, have=0
read block failed check_tree_block
Couldn't read chunk root
warning, device 4 is missing
warning, device 3 is missing
warning, device 2 is missing
warning, device 1 is missing
----------------


Did a bisect and it leads to this following patch.

----------------
commit 915902c5002485fb13d27c4b699a73fb66cc0f09

       btrfs-progs: fix device missing of btrfs fi show with seed devices
----------------

    Also this patch stalls ~2sec in the cmd btrfs fi show, on my system
    with 48 disks.

Also a simple test case hits some warnings...

----------------
    mkfs.btrfs -draid1 -mraid1 /dev/sdb /dev/sdc
    mount /dev/sdb /btrfs && fillfs /btrfs 100 && umount /btrfs
    wipefs -a /dev/sdb
    modprobe -r btrfs && modprobe btrfs
    mount -o degraded /dev/sdb /btrfs
    btrfs fi show
Label: none  uuid: 9844cd05-1c8c-473e-a84b-bac95aab7bc9
           Total devices 2 FS bytes used 1.59MiB
           devid    2 size 967.87MiB used 104.75MiB path /dev/sdc
           *** Some devices missing

warning, device 1 is missing
warning, device 1 is missing
warning devid 1 not found already
----------------


Hi Anand and Petr,

Oh, it seems that there are btrfs with missing devs that are bringing
troubles to the @open_ctree_... function.
This should be a missing case of the patch above which should only take
effects when seeding devices are present.
I will try my best to follow this case, suggestions are welcome, Thanks!

-Gui




On 10/23/14 14:57, Petr Janecek wrote:
Hello,

    You have mentioned two issues when balance and fi show running
    concurrently

     my mail was a bit chaotic, but I get the stalls even on idle system.
Today I got

parent transid verify failed on 1559973888000 wanted 1819 found 1821
parent transid verify failed on 1559973888000 wanted 1819 found 1821
parent transid verify failed on 1559973888000 wanted 1819 found 1821
parent transid verify failed on 1559973888000 wanted 1819 found 1821
Ignoring transid failure
leaf parent key incorrect 1559973888000

from 'btrfs fi sh' while I was just copying something, no balance running.

[...]
[PATCH 1/1] btrfs-progs: code optimize cmd_scan_dev() use
btrfs_register_one_device()
[PATCH 1/2] btrfs-progs: introduce btrfs_register_all_device()
[PATCH 2/2] btrfs-progs: optimize btrfs_scan_lblkid() for multiple calls

If you could, pls..
    Now on 3.17 apply above 3 patches and see if you see any better
    performance for the stalling issue.

     no perceptible change: takes ~40 seconds both before and after
applying. Old version <1 sec.

    can you do same steps on 3.16 and report what you observe

     So many rejects -- do you have older versions of these patches?


Thanks,

Petr
--
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 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 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 message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to