NVSL / linux-nova

NOVA is a log-structured file system designed for byte-addressable non-volatile memories, developed at the University of California, San Diego.
http://nvsl.ucsd.edu/index.php?path=projects/nova
Other
421 stars 118 forks source link

unable to handle kernel paging request at ffff91a53fffffe0 #83

Closed little-dog007 closed 2 years ago

little-dog007 commented 4 years ago

I had this problem when i mount NOVA with "sudo mount -t NOVA -o init /dev/pmem0 /mnt/ramdisk".My environment is vmware + linux-nova5.1. I compile and install successfully. p2

2

I found the problem was that I couldn't read a variable "curr_page->page_taill.next_page".However,i can get the address of "curr_page->page_tail"; It's not an empty pointer problem, and the address is in the kernel virtual address range, so I' m confused. Does anyone have the same problem as me and find a solution?

PS:when we mount a new nova instance,the nova_rebuild_inode function call the nova_rebuild_file_inode_tree,why not nova_rebuild_dir_inode_tree? I think root inode is a dir inode.

Andiry commented 4 years ago

Can you try on a bare-metal machine instead of VM to see if the issue still exists?

Indeed root inode is a dir inode and it should call nova_rebuild_dir_inode_tree. I suspect there is something messed up when it runs on VM.

On Thu, Jul 16, 2020 at 9:14 PM little-dog007 notifications@github.com wrote:

I had this problem when i mount NOVA with "sudo mount -t NOVA -o init /dev/pmem0 /mnt/ramdisk".My environment is vmware + linux-nova5.1. I compile and install successfully. [image: p2] https://urldefense.com/v3/__https://user-images.githubusercontent.com/58713739/87747559-45961e80-c826-11ea-82f0-cccc9a41fc85.png__;!!Mih3wA!QFOmXgO0avqJ8WvMMTAEATCS1aqvlmbOIk7II8DvE4cw8CSu5uPry9maLJZ8WkNk6jLG$

[image: 2] https://urldefense.com/v3/__https://user-images.githubusercontent.com/58713739/87747444-f64fee00-c825-11ea-877f-84929586dd6d.png__;!!Mih3wA!QFOmXgO0avqJ8WvMMTAEATCS1aqvlmbOIk7II8DvE4cw8CSu5uPry9maLJZ8Wj3FFKgd$

I found the problem was that I couldn't read a variable "curr_page->page_taill.next_page".However,i can read "&curr_page->page_tail"; It's not an empty pointer problem, and the address is in the kernel virtual address range, so I' m confused. Does anyone have the same problem as me and find a solution?

PS:when we mount a new nova instance,the nova_rebuild_inode function call the nova_rebuild_file_inode_tree,why not nova_rebuild_dir_inode_tree? I think root inode is a dir inode.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://urldefense.com/v3/__https://github.com/NVSL/linux-nova/issues/83__;!!Mih3wA!QFOmXgO0avqJ8WvMMTAEATCS1aqvlmbOIk7II8DvE4cw8CSu5uPry9maLJZ8Wui3msG_$, or unsubscribe https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/AAKBYEGE7NHN4JJPCIMFGJTR37F3TANCNFSM4O5PGDEA__;!!Mih3wA!QFOmXgO0avqJ8WvMMTAEATCS1aqvlmbOIk7II8DvE4cw8CSu5uPry9maLJZ8WmcCc0zJ$ .

little-dog007 commented 4 years ago

I experimented on the virtual machine vmware + ubantu 18.04. It made the same mistake.Next,i will try on a bare-metal machine.