#8889: Wrong data read from discarded block if transaction isn't flushed -----------------------------+---------------------------- Reporter: ahenriksson | Owner: axeld Type: enhancement | Status: new Priority: normal | Milestone: R1 Component: System/Kernel | Version: R1/Development Resolution: | Keywords: block cache Blocked By: | Blocking: Has a Patch: 1 | Platform: All -----------------------------+---------------------------- Changes (by axeld): * priority: high => normal * type: bug => enhancement * milestone: R1/alpha4 => R1 Comment: AFAICT you are misusing block_cache_discard(): what the function tries to achieve is that the on disk block will not be written to anymore afterwards. While the block is removed when it is no longer used, it doesn't mean it's actually being removed. You are not supposed to mess with the disk directly when you are using the block cache -- you can't assume to find the actual on disk contents of that block after it has been discarded. From the POV of the block cache, the contents of that block are known to be irrelevant now. The current functionality is needed only to make sure that the file cache and the block cache do not interfere with each other. What is it that you are trying to do here? Why do you need to mess with the contents of the disk directly? In any case, if you need that functionality, you would need to add it. -- Ticket URL: <http://dev.haiku-os.org/ticket/8889#comment:4> Haiku <http://dev.haiku-os.org> Haiku - the operating system.