Documentation on address_space_operations?

From: Adam J. Richter (
Date: Sat Oct 13 2001 - 19:19:13 EST

        I would appreciate any specific pointers to documentation
on the exact semantics of the functions declared in struct
address_space_operations. The exact division of labor between
writepage, sync_page, prepare_write, commit_write, and direct_IO
is not obvious to me, to say the least.

        This is especially relevant to me because the ramdisk code
was changed to use struct address_space_operations around 2.4.11-pre6,
causing my change that allowed the ramdisk contents to be usable even
if filesystems that had different block sizes were compiled into the
kernel (for example, if you compile in cramfs and romfs with the stock
kernels, you initial ramdisk cannot be in romfs format because the
block size change between cramfs and romfs will cause all data to be lost).
A couple of years ago, I had posted my fix for this to linux-kernel based
on old IO method, but the change was never integrated into the official
kernels. I would like to try to develop and updated fix for the new
ramdisk code. (I would also like to port the change that somebody made
around 2.3.43 to have the ramdisk driver drop pages that consists of all
zeroes, although that is less important.)

Adam J. Richter __ ______________ 4880 Stevens Creek Blvd, Suite 104 \ / San Jose, California 95129-1034
+1 408 261-6630 | g g d r a s i l United States of America
fax +1 408 261-6631 "Free Software For The Rest Of Us."
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

This archive was generated by hypermail 2b29 : Mon Oct 15 2001 - 21:00:52 EST