Hi All:
after reading some file_systems's mkdir to figure out the needed steps
My simple mkdir looks like: "psudo code"
rahfs_inode_create:
{
inode = new_inode()
underlying_fs_create_inode()
insert_inode_hash(inode)
mark_inode_dirty(inode)
d_instantiate(dentry, inode)
}
when everything goes right the following a sig fault accure and an
exerpt of the dmesg output is:
kernel BUG at fs/dcache.c:759!
invalid operand: 0000 [#1]
CPU: 0
EIP: 0060:[<c0168cbe>] Not tainted
EFLAGS: 00010283 (2.6.4-52-default)
EIP is at d_instantiate+0xe/0x50
Process mkdir (pid: 5058, threadinfo=cbc18000 task=cbf0c030)
Call Trace:
[<e1941a0f>] _rahfs_inode_create+0x5f/0x80 [rahfs]
[<e1941a3a>] rahfs_mkdir+0xa/0x10 [rahfs]
[<c01611d2>] vfs_mkdir+0xa2/0xf0
[<c0163832>] sys_mkdir+0x92/0xd0
[<c0107dc9>] sysenter_past_esp+0x52/0x79
neither dentry nor inode are null ? so what could cause a fault at
d_instantiate ? have i miss initializing anything ?
Thanks
MHD
--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive: http://mail.nl.linux.org/kernelnewbies/
FAQ: http://kernelnewbies.org/faq/