On 05/26/2014 05:04 PM, Michael Welsh Duggan wrote:
> Michael Welsh Duggan <m...@md5i.com> writes:
> 
>> I am now getting the following error when trying to do a btrfs send:
>>
>> root@maru2:/usr/local/src/btrfs-progs# ./btrfs send
>> /usr/local/snapshots/2014-05-15 > /backup/intermediate
>> At subvol /usr/local/snapshots/2014-05-15
>> ERROR: send ioctl failed with -5: Input/output error
>>
>> I'm running a 3.14.4 kernel, and Btrfs progs v3.14.1.
>>
>> root@maru2:/usr/local/src/btrfs-progs# uname -a
>> Linux maru2 3.14-1-amd64 #1 SMP Debian 3.14.4-1 (2014-05-13) x86_64 GNU/Linux
>>
>> root@maru2:/usr/local/src/btrfs-progs# ./btrfs --version
>> Btrfs v3.14.1
>>
>> Is there anything I can do to help debug this issue?
> 
> I'd like to find out what is happening here.  I am an experienced C
> programmer, but have not dealt with kernel hacking before.  I _do_ know
> how to build and install a kernel.  I'd like some hints on what logging,
> etc., I could add in order to determine where in the send ioctl
> processing the IO error is coming from.  From there, I hope to move to
> "why."  Ideally I'd be able to run gdb on this, but nothing I have read
> online about kernel debugging with gdb sounds promising.
> 
> I'd make an image, but the amount of data is enough to make this
> prohibitive.
> 
I would look into ftrace (the Tracing submenu of the Kernel Hacking menu
in menuconfig and nconfig).  The other thing to look at at least
initially is KDB, but using that requires either a serial console or an
AT or PS/2 keyboard.  Using UML and GDB for debugging is possible, but
it can take a long time to set-up and is often slow (admitedly, KDB
isn't much faster).  If you do go the UML+GDB route, make sure to build
in fault-injection (the flaky DM module is particularly nice for this
type of thing), and I would suggest using something like Buildroot
(http://www.buildroot.net) to generate the root filesystem for it.

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to