[OpenAFS-devel] The ihandle sync thing

Stephan Wiesand stephan.wiesand@desy.de
Thu, 28 Mar 2013 19:02:38 +0100


On Mar 27, 2013, at 22:19 , Chaskiel Grundman wrote:

> It seems that openafs 1.6.3 will remove the ihandle sync background
> thread that was put in when foreground syncs were removed many years =
back.

That's the current plan, yes. It's not an easy decision, so thanks for =
your input.

[...]
> Just because ext3 (in ordered mode) does something doesn't mean
> it's correct or something you should count on. If you don't
> fsync/fdatasync, there is no guarantee your data is on the media or =
ever
> will be on the media.

In theory, that's correct. But is there a real case where data is not =
flushed by the OS at intervals comparable to those of the current =
background sync?

> I understand the current use of the ihandle cache for this is =
problematic,
> but that is not an excuse to never sync.

To my understanding, ripping out the current implementation of =
background syncs may cause somewhat more damage to files written to =
during the last O(10s) before in the case of a server crash - it's not =
prevented completely either way. But, again to my understanding, leaving =
it in bears the potential of silently damaging your data on loaded =
servers.

Given that fixing the syncing behaviour isn't feasible, especially =
anytime soon, what's the right thing to do?

> I will be sad if I have to patch foreground syncs back into my
> fileservers, but I will if I have to.

It seems you're not considering patching the background syncs back in?

> P.S. I am aware that ih_reallyclose() calls OS_SYNC(), but it's not =
very
> useful.
> ih_reallyclose() is not called under normal circumstances except when
> deleting files or detaching volumes (on DAFS or shutdown)