I am running a BDB based application on top of EXT3 on Linux (RH 7.2) - the application and the configuration are exactly the same. When the application writes, sometimes the IO happens in the context of the application thread while most of the time the IO happens in the context kjournald. What does it mean for IO to happen in initiating process context for non O_SYNC file I/O. I was thinking the dirty file cache thresholds determine if a write to a filesystem write will correspond to block I/O in the process context. Is that how ext3 works. I am not very familiar with kjournald functionality - is that thread meant to initiate I/O just for metadata updates or for data updates as well ? I figured out the process context for I/Os using sysctl -w vm.block_dump='1' which throws debug messages into kern.log. Please cc pradeep.vincent at gmail.com Thanks, Pradeep Vincent