Thanks for your idea.
Because I implement a kernel storage service based on a disk file through VFS layer.
To simplify the implementation, I prefer to read/write the mapped kernel space address instead of the file data access api(such as page cache API / VFS API).
In FreeBSD, I can use vm_map_find to map a file into kernel space address( vnode pager)
But in linux, I don't know how to implement this(map disk file into kernel space)?
![]()
Because I implement a kernel storage service based on a disk file through VFS layer.
To simplify the implementation, I prefer to read/write the mapped kernel space address instead of the file data access api(such as page cache API / VFS API).
In FreeBSD, I can use vm_map_find to map a file into kernel space address( vnode pager)
But in linux, I don't know how to implement this(map disk file into kernel space)?
On Thu, Dec 26, 2013 at 3:42 PM, Yu Bi <lazysmartegg@xxxxxxxxx> wrote:
Hi,I try to mmap a file in a linux kernel module. I have tried to use the function do_mmap_pgoff. But the address returned is memory virtual address in current process' user space, i.e., below the kernel boundary. Instead, I want to map the file in the kernel space and get the kernel virtual address of the mapped region. Is there any kernel API in Linux support this operation? Or I have to reimplement a kernel mmap version ?But reimplement a kernel version mmap() is not easy I guess. Do you have any idea?
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies