On 21/10/14 10:02, Martin Lucina wrote: > Let me re-phrase my question: > > After successfully calling rump_sys_umount(...), rump_pub_etfs_remove(...) > can I be 100% confident that all the data has landed in the underlying > file, at least from the PoV of the host kernel?
Heh, yes, good question. I actually haven't thought about that in the strictest sense, or at least don't remember thinking about it. There's also a reason why I didn't: I was concerned with data leaving the rump kernel and hitting the disk correctly, which means that sync writes are really sync (e.g. what vanilla FFS depends on to retain file system consistency). Async writes can be flushed whenever (note: from the host cache). Anecdote: when I first measured the performance of rump kernels as microkernel-type file system servers, they performed better than in the monolithic kernel (this was ca. 2007). The hypothesis was that they shouldn't, and eventually I discovered that I forgot to implement sync I/O operations ... Anyway, you can be sure that all the data and metadata has been flushed from the rump kernel to the block device when unmount() completes. I cannot recall if it will be flushed from the host cache or not, i.e. in the userspace case if fsync() is always executed. I guess it's easy enough to check that. ------------------------------------------------------------------------------ Comprehensive Server Monitoring with Site24x7. Monitor 10 servers for $9/Month. Get alerted through email, SMS, voice calls or mobile push notifications. Take corrective actions from your mobile device. http://p.sf.net/sfu/Zoho _______________________________________________ rumpkernel-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/rumpkernel-users
