[Lustre-devel] Flush on file close

Oleg Drokin oleg.drokin at oracle.com
Tue Apr 20 12:46:49 PDT 2010


On Apr 20, 2010, at 3:56 AM, Mitchell Erblich wrote:

> 			NFS allows async writes and then commits.

It's all internal within NFS. There is no way for the client to say
"these writes are async", "now do commit" aside from
doing manual syncs for commits and using some sort of sync io open flags
to force "sync" writes.
Of course additional level of confusion is the "async writes" you reference
have nothing to do with real write system calls. In fact write system calls
put data in memory and data might stay there for who knows how long
(or until close) and only when NFS client decides (or VFS forces it to)
to write the data to the server is when these "async writes" are used,
Lustre has this too.

> 			I would almost suggest this..

It's already implemented sort of NFS-style except the close-to-open.

> 			As yes, close's are not expected to fail.


> 			What would you do / should you do if a close failed?

Well, you assume the file content is no longer correct and write it again, I guess.
Or if you are like 99% of people writing programs out there, you just bail out with an error ;)


More information about the lustre-devel mailing list