TBD: turn this into a real wiki article, tracing all the way from sys_read() to the block IO (or RPC, in case of NFS) subsystem.
<coywolf> anyone could explain me I_DIRTY_PAGES I_DIRTY_SYNC I_DIRTY_DATASYNC ?
<surriel> coywolf: what's there to explain ?
<surriel> coywolf: I_DIRTY_DATASYNC means data is written out synchronously on file write
<surriel> I_DIRTY_SYNC means that both file data and inode metadata are written out synchronously
<surriel> I_DIRTY_PAGES means there are dirty pages in memory for this inode - so we're writing the data and metadata back asynchronously
<coywolf> surriel, clear now
<coywolf> surriel, thanks
<coywolf> this is from the source:
<coywolf> 998 #define I_DIRTY_SYNC 1 /* Not dirty enough for O_DATASYNC */
<coywolf> 999 #define I_DIRTY_DATASYNC 2 /* Data-related inode changes pending */
<coywolf> 1000 #define I_DIRTY_PAGES 4 /* Data-related inode changes pending */
<coywolf> surriel, the code comment isn't clear
<surriel> but the code that uses these constants is ...