From: Alex d. <ale...@gm...> - 2009-08-30 15:51:05
|
On 2009-08-29, at 12:44 PM, Frank Lahm wrote: >> > > What is TMNIS? Have a look through: http://developer.apple.com/mac/library/documentation/NetworkingInternetWeb/Conceptual/TimeMachineNetworkInterfaceSpecification/TimeMachineRequirements/TimeMachineRequirements.html#//apple_ref/doc/uid/TP40008951-CH100-SW1 It talks about various requirements of TM, which is nice given that I don't think they've ever been advertized before. Maybe this will help with various people's problems not being able to use netatalk as a backup device with 10.6... Here's what I mean about the problems with the replay cache.... guaranteed write completion is a fundamental part of TM over AFP, and Linux's fflush() doesn't do that. Let's say there's a flood of data coming from the client, and an FSyncFork comes in. The expectation from the client is that this will block until the data is known to have been written to spinning media on the server. Specifically on Linux (but not BSD), fflush() doesn't actually guarantee that the data is written, it may still be sitting around in memory. If somebody does hard power the server between an FPSycnFork and when the data gets written to disk, data will be lost. With the growth of netatalk and time machine usage, this is inevitable. I haven't completely groked the replay cache yet, but I think it may make it worse if it allows out-of-sequence DSI replies. No matter what, you'll have a lot more going on and more risk of hitting the above. But the replay cache can offer an increase in reliability; if the server goes down and hasn't completed a request, the client just replays it. - A |