![]() | |||||||||||
Messages in this thread
|
On Thu, 20 Nov 2008 14:43:43 +0000 David Howells <dhowells@redhat.com> wrote:> Add an address space operation to write one single page of data to an inode at > a page-aligned location (thus permitting the implementation to be highly > optimised). The data source is a single page.> > This is used by CacheFiles to store the contents of netfs pages into their > backing file pages.> > Supply a generic implementation for this that uses the write_begin() and > write_end() address_space operations to bind a copy directly into the page > cache.> > Hook the Ext2 and Ext3 operations to the generic implementation. > >> ...>> +> + /* write the contents of the source page over the page at the specified > + * index in the target address space (the source page does not need to > + * be related to the target address space) */> + int (*write_one_page)(struct address_space *, pgoff_t, struct page *); > }; Sigh. I don't normally comment on busted comment layout, but Ingo does so I'm allowed to ;) See recent discussion around the kmemleak patches. > +/**> + * generic_file_buffered_write_one_page - Write a single page of data to an > + * inode kerneldoc doesn't permit line breaks in this context (unless it got fixed recently) > + * @mapping - The address space of the target inode > + * @index - The target page in the target inode to fill > + * @source - The data to write into the target page > + *> + * Write the data from the source page to the page in the nominated address > + * space at the @index specified. Note that the file will not be extended if > + * the page crosses the EOF marker, in which case only the first part of the > + * page will be written.> + *> + * The @source page does not need to have any association with the file or the > + * target page offset.> + */ | ||||||||||
| Last update: 2008-11-21 09:27 [from the cache] ©2003-2008 | |||||||||||