On Jan 6, 2015, at 5:50 PM, Les Mikesell lesmikesell@gmail.com wrote:
On Tue, Jan 6, 2015 at 6:37 PM, Gary Greene ggreene@minervanetworks.com wrote:
Almost every controller and drive out there now lies about what is and isn’t flushed to disk, making it nigh on impossible for the Kernel to reliably know 100% of the time that the data HAS been flushed to disk. This is part of the reason why it is always a Good Idea™ to have some sort of pause in the shut down to ensure that it IS flushed.
This is also why server grade gear uses battery backed buffers, etc. which are supposed to allow drives to properly flush the data to disk. There is still a slim chance in these cases that the data still will not reach the platter before power off or reboot, especially in catastrophic cases.
This was a reboot from software, not a power drop. Does that do something to kill the disk cache if anything happened to still be there?
In most cases intentional reboots _shouldn’t_ trigger this, but I cannot say that with a 100% certainty since, again, controllers CAN and DO lie. If the controller is not battery backed, the certainty is even more shaky, since the card's firmware can be in the process of lazy writing the content to disk when the main board drops power to the card's slot on the main board during the reboot, which without the extra battery would cause the data to be lost.
During the reboot, most card’s drivers on init, will invalidate the cache on the card to ensure dirty pages of data don’t get flushed to disk, to prevent scribbling junk data to the platters. From what I recall, this is true of both the megaraid and adaptec based cards.
-- Gary L. Greene, Jr. Sr. Systems Administrator IT Operations Minerva Networks, Inc. Cell: +1 (650) 704-6633