User Tools

Site Tools


releases:3.2.1:developersguide:pipefs

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
releases:3.2.1:developersguide:pipefs [2014/11/13 15:35]
lionelsambuc
releases:3.2.1:developersguide:pipefs [2016/04/01 16:36] (current)
buy2essays
Line 51: Line 51:
 ==== fs_readwrite (see read.c) ==== ==== fs_readwrite (see read.c) ====
  
-This function is used for both reading and writing. It knows which operation to perform based on the m_type in the incoming message. The function calls find_inode() with the inode number (REQ_INODE_NR) from the incoming message to locate the desired inode. A sanity check is done to ensure that a write won't exceed the size of the pipe buffer. Then get_inode() and get_block() are called to mark them in use (i.e. increment their reference counters). Then bytes are copied between the block buffer and user space using sys_safecopyto() (for reading) or sys_safecopyfrom() (for writing). Then the position is updated and flags are set to update the inode'​s ATIME, CTIME, and/or MTIME. Finally put_inode() and put_block() are called to decrement their reference counters.+This function is used for both reading and essay writing ​buy2essays.com. It knows which operation to perform based on the m_type in the incoming message. The function calls find_inode() with the inode number (REQ_INODE_NR) from the incoming message to locate the desired inode. A sanity check is done to ensure that a write won't exceed the size of the pipe buffer. Then get_inode() and get_block() are called to mark them in use (i.e. increment their reference counters). Then bytes are copied between the block buffer and user space using sys_safecopyto() (for reading) or sys_safecopyfrom() (for writing). Then the position is updated and flags are set to update the inode'​s ATIME, CTIME, and/or MTIME. Finally put_inode() and put_block() are called to decrement their reference counters.
  
 ===== block Management (see buffer.c and buf.h) ===== ===== block Management (see buffer.c and buf.h) =====
releases/3.2.1/developersguide/pipefs.1415889353.txt.gz · Last modified: 2016/04/01 16:36 (external edit)