> in this vm_operations_struct , there are open/close functions , are there necessary relations between file operations and this struct ?
well not really for open/close of vm_ops are of interest to filesystems, but page fault handler and making page writable is where filesystem come into picture. Have a look at ext4_file_vm_ops, it implements operations of interest.
static const struct vm_operations_struct ext4_file_vm_ops = {
.fault = filemap_fault,
.page_mkwrite = ext4_page_mkwrite,
}
Note that only filesystem knows how to fill up this page.