From: Nikolaus R. <Nik...@ra...> - 2008-07-20 16:38:13
|
Hello, I am working on a network filesystem and I am interested in your opinions about cache flushing strategies. At the moment, I am flushing the cache whenever a file is closed (i.e. when flush() is called) and when I need to free some cache space to retrieve new data. I was wondering whether it might be a good idea to additionally flush the cache periodically, e.g. to flush all cache blocks that have not been accessed for 5 seconds. This would have the advantage that the network connection is utilized as soon as the filesystem is mounted, and not only after the first file has been written completely (it could be large) or we run out of cache space (that could be rather larger as well). The drawback is of course related to that: I may fill up the network connection with transmitting "useless" data that I need to retransmit later, thus consuming bandwidth and (expensive) traffic volume. What would you do? I am rather opposed to simply making this configurable, because if I'm unsure myself (and I know how my fs works) how can I expect the user to decide this? Best, -Nikolaus -- »It is not worth an intelligent man's time to be in the majority. By definition, there are already enough people to do that.« -J.H. Hardy PGP fingerprint: 5B93 61F8 4EA2 E279 ABF6 02CF A9AD B7F8 AE4E 425C |