Nate Diller <nate.diller@gmail.com> wrote:A better way might be to stick a void * in struct file and pass that through to readpage() and readpages() instead of the struct file *. That way, anyone who wants the traditional arrangement can just point that extra void * at the struct file. Of course, I'm in favour of making it a struct key * like this: struct address_space_operations { ... int (*readpage)(struct key *, struct page *); ... int (*readpages)(struct key *, struct address_space *, struct list_head *, unsigned); ... }; struct file { ... struct key *f_key; }; struct page *filemap_nopage(struct vm_area_struct *area, ...) { ... struct file *file = area->vm_file; ... error = mapping->a_ops->readpage(file->f_key, page); ... } But I'm not sure the NFS crew, for instance, would be happy with that. Maybe passing file->private_data through would do. That's basically what NFS and FUSE, for instance, want, and it would also do for AFS. David - To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
| Max Krasnyansky | Re: Inquiry: Should we remove "isolcpus= kernel boot option? (may have realtime us... |
| Jeremy Allison | Re: [RFC] Heads up on sys_fallocate() |
| Randy Dunlap | Re: -mm merge plans for 2.6.23 (pcmcia) |
| Damien Wyart | ACPI power off regression in 2.6.23-rc8 (NOT in rc7) |
git: | |
| Josip Rodin | Re: bnx2_poll panicking kernel |
| Linus Torvalds | Re: [GIT]: Networking |
| Denys Fedoryshchenko | thousands of classes, e1000 TX unit hang |
