-
Notifications
You must be signed in to change notification settings - Fork 122
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Kernel panic with XFS filesystem #184
Comments
To confirm, you are using dattobd 0.10.9? Can you get the line for the
|
The file "dattobd.ko" seems located in "/usr/src/dattobd-0.10.9" (no such files in /path/to), so i use
Here is the line for RIP
And here is my page_get_inode function in /usr/src/dattobd-0.10.9/dattobd.c:
|
This appears to be the same thing as #40. Try running:
It should output:
If it does, then there is something wrong with the build of dattobd. In that case, I suggest rebuilding/reinstalling dattobd and trying again. |
After using
I get the same message as you said: /usr/src/linux-headers-4.15.0-29/include/linux/poison.h:#define TAIL_MAPPING ((void *) 0x400 + POISON_POINTER_DELTA) Does it means my dattobd need to rebuild/reinstall ? Some detailed information might help:
|
I was able to reproduce this on 4.15.
I don't know where this value comes from. It seems bogus (-1 cast to UL?). I have not seen the issue on 4.18.0-20-generic. This kernel produces the expected value:
|
Just for making sure, what's kind of device did you use to reproduce the question? (PC / VM?) Maybe skip the address over TAIL_MAPPING or some specific value can deal with this case? |
I am using a qemu VM. @tcaputi any idea on this one? |
I don't really have a ton of time to look at this now, but this seems to be the same issue that effected the crash utility: We should probably just find the commit that crash made and do whatever they did. |
Looks like using the head (a la Of interest is |
I've used a script to test the patch, looks like the kernel panic problem is solved! Thanks for your help! |
In e3e6a3b I had modified page_get_inode() to check for tail mappings specifically. A problem that was encountered on Ubuntu was that tail mappings might use a seemingly bogus poison offset of 0xffffffff instead of TAIL_MAPPING. Fix this by always operating on the compound head instead of using a tail. Resolves: #184 See also: #40
Environment:
Using latest dattobd running on Ubuntu 18.04
Linux ubuntu 4.15.0-29-generic #31-Ubuntu SMP Tue Jul 17 15:39:52 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Process to reproduce:
System consist two disks
/ is with ext2
/mnt is xfs (using mkfs.xfs with default option)
The xfs FS is mounted with default mount option
Kernel panic output is:
The text was updated successfully, but these errors were encountered: