Troubleshooting with kernel call trace and underlying root cause with XFS

by IronSam   Last Updated January 10, 2016 08:00 AM

How to determine the root underlying cause of an error when looking through a Linux kernel call trace, and in which order should I read the call trace?

From my understanding, the call trace should show me the the series of system calls that led up to the failure. In this case, we have xfs_force_shutdown as the result. Does that mean the proceeding call was the cause of failure, however the call trace shows the caller as xfs_trans_cancel, so how should this be interpreted and what is likely the best solution to resolve this?

For some context, the kernel trace is below, running on Centos 5 with a XFS related problems.

kernel: Filesystem "sda2": XFS internal error xfs_trans_cancel at line 1138 of file fs/xfs/xfs_trans.c. Caller 0xffffffff8805c169


kernel: Call Trace: {:xfs:xfs_trans_cancel+91}

kernel: {:xfs:xfs_mkdir+1412} {:xfs:xfs_attr_get+191}

kernel: {:xfs:xfs_vn_mknod+354} {vfs_mkdir+234}

kernel: {sys_mkdirat+163} {system_call+134}

kernel: {system_call+0}

kernel: xfs_force_shutdown(sda1,0x8) called from line 1139 of file fs/xfs/xfs_trans.c. Return address = 0xffffffff880540e0

Related Questions

dd and USB - how does it work?

Updated November 17, 2015 12:00 PM