The day before I tried to find out if somebody ever had implemented something to prevent vdr to trash the file system buffers. I did this because I hate to wait 20 seconds for vdr to re-read my recordings list. So I read about the usage of O_DIRECT and the trouble with it. While googling about O_DIRECT I found the function posix_fadvise - which I had never heard about before - can help to do something similar without to have such an impact on the current programming scheme.
Using this function I wrote a little patch for vdr 1.3.30 - if you are interested have a look here:
http://vdr.unetz.com/download/patches/vdr-avoidTrashing-0.2.0-plain-1.3.30.d...
The same patch against enAIO-2.5-rm-a:
http://vdr.unetz.com/download/patches/vdr-avoidTrashing-0.2.0.diff.gz
For sure the whole thing only makes sense when all programs dealing with video streams on a vdr do the same. So I did some first steps patching noad. I'm not finished with it - there seems to be a read() I missed. Anyway - the preliminary patch for noad 0.6.0 can be found here:
http://vdr.unetz.com/download/patches/noad-avoidTrashing-0.0.1.diff.gz
Further candidates for posix_fadvise are mkisofs and the burn-plugin.
Regards Ralf Müller