fsync()-in webdav PUT

Maxim Dounin mdounin at mdounin.ru
Tue Feb 27 13:24:27 UTC 2018


On Tue, Feb 27, 2018 at 11:21:23AM +0100, Nagy, Attila wrote:

> I would like to make sure when a WebDAV (with ngx_http_dav) PUT returns 
> the file is reliably on the storage. This needs an fsync() on the file.
> It would be easy to put that into the module, but it would block the 
> whole nginx process.
> Now, that nginx supports running threads, are there plans to convert at 
> least DAV PUTs into it's own thread(pool), so make it possible to do 
> non-blocking (from nginx's event loop PoV) fsync on the uploaded file?

No, there are no such plans.

(Also, trying to do fsync() might not be the best idea even in 
threads.  A reliable server might be a better option.)

Maxim Dounin

More information about the nginx mailing list