Linus, Al, and all others,
please take a look at the yet another readpage patch and keep in mind,
that it tries to do the following:
* all address space operations get a "struct file *" pointer[1]. It will
contain a hint from kernel when it is available and NULL if it is not.
E.g.
1. inside block_symlink: fs/buffer.c
2. "inside" page_getlink: fs/namei.c
* the address space operations should use page->mapping->host to access
their private address_space data. Thus it won't hurt when we get
NULL as a first argument.
* the VFS helper functions in fs/buffer.c assume that page->mapping->host
points to the corresponding inode.
* for network filesystems, or other special fs that don't use
fs/buffer.c, page->mapping->host can point to arbitrary structures.
Please also note that after this change only two filesystems ( fs/nfs and
fs/smbfs ) use the first argument of readpage in a non trivial way.
This patch has been successfully applied to pre7-6. All filesystems were
compiled and several tested.
Finally, I hope, that this time there are no horrible design flaws and the patch
would be able to creep into pre7-[7|8].
Thanks,
Roman.
[1] I wonder why struct dentry * is needed for a 'writepage' despite of it
already has struct file * as a first parameter.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Mon May 15 2000 - 21:00:11 EST