On Wednesday 25 July 2012 18:34:21 S. K. wrote: > Good Day! > > > I am looking for the serial operations that happen when read and write > operation use in a ubuntu system that use yaffs2 as the filesystem. > > As I understood, for these operations: os tells to the vfs and the vfs > tells to the yaffs to do read or write, then yaffs_file_operations in the > yaffs_vfs_multi looks at its structure and call do_sync_read or > do_sync_write. these files exist in the kernel and do the read and write > operation. > > Is there any thing I missing? > > Is this sequence explained correctly? If not, would you explain the correct > one? > Have a look at http://lxr.linux.no/ This provides a cross reference to Linux code. Basically, the read issued by the application does a system call which then ends up at vfs_read(). Look up vfs_read in the LXR and you will see it calls file->f_op->read() if that exists otherwise it calls do_sync_read(). Yaffs uses do_sync_read(). That calls aio_read() which, for yaffs is generic_file_aio_read. generic_file_aio_read() sets up a page in the page cache and calls readpage which is the yaffs_readpage() function in vfs_vfs_multi.c The configuration of which of the plug-in functions gets called is defined in the yaffs_file_operations table in yaffs_vfs_multi.c