Re: 2.1.118 Tons of oopes

Brandon S. Allbery KF8NH (allbery@kf8nh.apk.net)
Thu, 27 Aug 1998 18:28:38 -0300


In message <199808271419.HAA24567@dm.cobaltmicro.com>, "David S. Miller"
writes
:
+-----
| Definately not! But if flush() was appended to the structure, then
| people had only to recompile their drivers and all would be fine. So
| there would be no silent failures in that scheme.
| ...
| So please explain where the benefit of placing flush() in the middle
| is?
|
| So that people don't "only recompile their drivers" and the driver
| code actually get updated and fixes done by or sent to the maintainer!
+--->8

The point that's apparently being missed by most people is that a working
flush method is needed to fix a serious bug in NFS (data loss when a file is
closed and an error occurs during the final write). The fix is that you
flush first and report the error then, because it's too late if you find the
error during the actual close.

So all drivers should be updated to have a *working* flush() (a null pointer
accomplishes nothing, it leaves NFS still broken). Linus chose to force
this by putting flush() where it would cause serious breakage for drivers
not aware of it, to force those drivers to be updated.

-- 
brandon s. allbery	[os/2][linux][solaris][japh]	 allbery@kf8nh.apk.net
system administrator	     [WAY too many hats]	   allbery@ece.cmu.edu
electrical and computer engineering					 KF8NH
carnegie mellon university

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html